Joomla.it Forum
Non solo Joomla... => Database => : lucsound 10 Mar 2014, 22:35:20
-
Ciao.
Ho un campo in una tabella dove ci sono diversi ID di articoli.
Vorrei fare in modo di far apparire le immagini e il nome corrispondenti per ogni determinato id contenuto in una tabella .
$db1 =& JFactory::getDBO();
$query1 = $db1->getQuery(true);
$query1->select('*');
$query1->from($db1->quoteName('#__tabella'));
$db1->setQuery($query1);
$results1 = $db1->loadObjectList();
$querycount1 = $db1->getQuery(true);
$querycount1->select('COUNT(*)');
$querycount1->from($db1->quoteName('#__tabella'));
$db1->setQuery($querycount1);
$count1 = $db1->loadResult();
$i = 0;
while ($i < $count1) {
//VOGLIO VISUALIZZARE I DATI SEGUENTI IN BASE AD OGNI ID PRESENTE NELLA TABELLA X
echo "<img src=\"files/".$results1[$i]->user."/".$results1[$i]->image."\">";
echo $results1[$i]->nome;
}
-
$db1 = JFactory::getDBO();
$query1 = $db1->getQuery(true);
$query1->select('*');
$query1->from($db1->quoteName('#__tabella'));
$db1->setQuery($query1);
$results = $db1->loadObjectList();
foreach($results as $result) {
echo "<img src=\"files/".$result->user."/".$result->image."\">";
echo $result->nome;
}
non sono stato a controllare la sintassi dei singoli elementi, indico solo la soluzione.
ma, a costo di ripetermi: una letturina al manuale?
ciao
-
Ho letto il manuale ma non riesco ad integrare l'explode() per visualizzare i vari id nel campo tabella con il ciclo while per elencare non solo i vari ID ma l'immagine e il nome di ciascun ID generato dall'explode.
:(
-
eeeehhhh?
ma che dici?
ma qual è la struttura della tabella? perché dovresti usare un explode()? gli id sono forse tutti in un unico campo?
-
Si, sono nello stesso campo.
L'explode funziona ma non riesco ad integrarlo con il ciclo while.
-
non capisco ciò che stai dicendo, forse perché non riesco a visualizzare la struttura della tabella e dei campi.
se non la illustri qui non ne usciamo, visto che l'explode con il while centra come i cugini di campagna con l'hard rock....
sicuro che il codice che ti ho indicato prima non faccia già tutto il lavoro?
ciao
-
Si scusami.
Cerco di farmi capire meglio:
- In un campo di una tabella del database ho vari ID di articoli (es: 25,36,15,12)
- Con explode() estrapolo ogni ID senza tener conto della virgola.
- Adesso vorrei creare un ciclo che visualizza immagine e titolo per ogni ID che ho estrapolato dal campo.
Come posso farlo? Il codice sopra non va :(
-
allora devi iterare la query:
foreach(explode($campoIDs) as $id){
// qui metti la query costruita con WHERE id=$id, e la esegui
// e poi leggi i risultati che sono restituiti un record
// per volta
}
o in forma meno elegante, ma più efficiente usi una sola query usando l'operatore IN() nella clausola WHERE, ovvero WHERE id IN($campoIDs) e poi esegui un loop sul recorset che restituisce tutti i recordset assieme.
spero comunque che chi ha disegnato il db in quel modo abbia avuto un buon motivo... o che gli abbiano tagliato le mani ;D ;D
[/size]ciao[size=78%]
[/size][size=78%] [/size]