Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di mdx92
    Registrato dal
    Sep 2007
    Messaggi
    116

    Query multiple e un solo for HELP ME

    Allora ho creato una sezione del sito dove è possibile commentare un topic, diciamo stile forum, ora ho creato il ciclo for che ripete i commenti con i relativi dati (data e ora), ora però vorrei che vicino ai commenti comparissero anche i dati personali dell'utente, che si trovano nell'altra tabella, ho provato con il codice che posto di seguito, ma preleva solo i dati dell'ultimo commento inserito, gli altri li trascura!

    Codice PHP:
    //QUERI NICK_DB COMMENTI_TUNING
    $queri_com "SELECT nick_db FROM commenti_tuning where id_tuning_db='".$id_db."' ORDER BY id DESC";
    $ris mysql_query($queri_com$myconn) or die('Errore...3');
    //Recupero il contenuto di ogni record COMMENTI_TUNING
    $row mysql_fetch_row($ris);
    $nick_com=$row[0];

    //RECUPERO ID TOPIC
    $id_db=$_GET['id'];

    //RECORD PER PAGINA
    $recordxpag 5;

    //MI COLLEGO AL DB - COMMENTI_TUNING
    $query "SELECT * FROM commenti_tuning WHERE id_tuning_db='".$id_db."' ORDER BY id DESC";
    $res mysql_query($query);

    //MI COLLEGO AL DB - USER
    $queru "SELECT localita_db, messanger_db, sito_web_db, moto_db, avatar_db FROM user where user_db='".$nick_com."'";
    $risu mysql_query($queru);

    $righe mysql_num_rows($res);

    //CALCOLO NUMERO DI PAGINE
    $numpag ceil($righe/$recordxpag);

    //FILE LINK PAGINE 1,2,3...
    echo" [b]$righe commenti[/b] - ";include('sys/commenti.inc.php'); 

    //VERIFICO SE NEL DB CI SONO RECORD
    if ($righe<1)
      {
       echo 
    "<tr><td> Nessun utente ha commentato questo post </td></tr>";
      }
    else
    {
      
    //PAGINA CHE STIAMO VISITANDO
      
    $da = (($pag_com-1) * $recordxpag);
      
    $a $da $recordxpag;
      if (
    $a $righe){$a=$righe;}

    //DENTRO IL CICLO FOR INSERIAMO LA TABELLA DA VISUALIZZARE
    for ($i $da$i $a$i++)
       { 

    //RECUPERO VARIABILI USER_DB
    $nick_db_com mysql_result($res$i'nick_db');
    $commento_db_com mysql_result($res$i'commento_db');
    $data_db_com mysql_result($res$i'data_db');
    $ora_db_com mysql_result($res$i'ora_db');

    $localita_dbmysql_result($risu$i'localita_db');
    $messanger_dbmysql_result($risu$i'messanger_db');
    $sito_web_dbmysql_result($risu$i'sito_web_db');
    $moto_dbmysql_result($risu$i'moto_db');
    $avatar_dbmysql_result($risu$i'avatar_db');

    //STAMPO A VIDOE IL RISULTATO
    echo"<tr><td width='33%' valign='top' rowspan='2'>[url='view_profile.php?user=$nick_db_com'][b]$nick_db_com[/b][/url]
    "
    ; if($avatar_db==""){echo"[img]images/avatar/no_avatar.jpg[/img]";}else{echo"[img]$avatar_db[/img]";} echo"
    <span style='font-size:13px;'>Localit&agrave: 
    $localita_db
    Moto: 
    $moto_db

    "
    ; if($sito_web_db==""){echo"";}else{echo"[url='$sito_web_db'][img]images/web.gif[/img][/url] ";} if($messanger_db==""){echo"";}else{echo"[email='$messanger_db'][img]images/msn.gif[/img][/email] ";} echo"</font></td> <td width='67%' height='10' valign='top'><span style='font-size:12px;'>Commento aggiunto il $data_db_com$ora_db_com</font></td></tr> <tr><td width='67%' valign='top'>"; echo(nl2br($commento_db_com)); echo"</td></tr>";

      }


    Dove sbaglio? PS Se potete aggiustarmi il codice, perchè è il primo sito che ralizzo in mysql e capisco ben poco!

  2. #2
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Preleva solo l'ultimo record perchè è quello che gli dici di fare :P
    Dovresti mettere tutto in un ciclo, anzi, dando un'occhiata veloce credo che per risolvere il tuo problema dovrai usare i cicli annidati. Tra l'altro nella prima query metti questa condizione: where id_tuning_db='".$id_db."' ma $id_db lo inizializzi dopo!..come fa ad andare? Cioè funziona però $id_db è vuoto quindi estra solo quelli che hanno id_tuning_db vuoto.
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  3. #3
    Utente di HTML.it L'avatar di mdx92
    Registrato dal
    Sep 2007
    Messaggi
    116
    Ti ringrazio per la risposta! ma comunico che ho risolto! Avevo la soluzione sotto gli occhi! Ho eliminato tutte quelle query inutili e le ho ridotte a una sola strutturata in questo modo:

    Ecco il codice:

    Codice PHP:
     mysql_query("SELECT commenti_tuning.*, user.* FROM commenti_tuning, user WHERE nick_db=user_db AND id_tuning_db='".$id_db."' ORDER BY commenti_tuning.id DESC"); 
    E' stato facilissimo! è la prima volta che uso mysql ma più passano i giorni più lo amo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.