Back to top

Autore Topic: visualizzare dati in base ad ogni ID presente in una tabella  (Letto 2629 volte)

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
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 .

Codice: [Seleziona]
$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;
}

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:visualizzare dati in base ad ogni ID presente in una tabella
« Risposta #1 il: 11 Mar 2014, 10:06:26 »
Codice: [Seleziona]
$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



mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
Re:visualizzare dati in base ad ogni ID presente in una tabella
« Risposta #2 il: 11 Mar 2014, 11:53:17 »
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.
 :(

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:visualizzare dati in base ad ogni ID presente in una tabella
« Risposta #3 il: 11 Mar 2014, 12:06:58 »
eeeehhhh?
ma che dici?


ma qual è la struttura della tabella? perché dovresti usare un explode()? gli id sono forse tutti in un unico campo?



mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
Re:visualizzare dati in base ad ogni ID presente in una tabella
« Risposta #4 il: 11 Mar 2014, 12:43:02 »
Si, sono nello stesso campo.
L'explode funziona ma non riesco ad integrarlo con il ciclo while.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:visualizzare dati in base ad ogni ID presente in una tabella
« Risposta #5 il: 11 Mar 2014, 13:52:00 »
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

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline lucsound

  • Esploratore
  • **
  • Post: 106
    • Mostra profilo
Re:visualizzare dati in base ad ogni ID presente in una tabella
« Risposta #6 il: 11 Mar 2014, 14:44:05 »
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  :(

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:visualizzare dati in base ad ogni ID presente in una tabella
« Risposta #7 il: 11 Mar 2014, 18:08:31 »
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]

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif