Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Problema con una query SQL

    ciao ragazzi! rieccomi ad attingere dalla vostra conoscenza :P
    sto cercando di mettere s un sito su altervista (che mette a disposizione uno strumento che si chiama phpMyAdmin per lavorare velocemente sul database) e ho scritto questa query per un miniforum

    Codice PHP:
    $query="SELECT * FROM `posts` WHERE dv='$tp' ORDER BY qnd DESC";
    $result=mysql_query($query$db)
        or die(
    mysql_error($db));
    while(
    $logs=mysql_fetch_array($result)){
            
    //codice....

    nel database ci sono 2 voci che rispondono alla query ma sul sito me ne elenca solo una, l'ultima. Guardate qua

    è strano anche perchè se testo la query su phpmyadmin mi da appunto un array con 2 voci e la variabile $tp non cambia durante la query....

    non so che fare qualcuno ha qualche idea?

    grazieeeeeeeeeeeeeeeeeeeeeeeee...eeeeeeeeeeeeee!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ...allora il problema è nella visualizzazione dei dati, non nella query... per esempio memorizzi le info da stampare sovrascrivendo le vecchie voci... ti mostra la prima o l'ultima?

  3. #3
    mi mostra l'ultima (che però è la prima che legge perché ho impostato l'ORDER a DESC)
    ma se fosse un problema di visualizzazione (c avevo pensato :P) ci sarebbe almeno il codice html nella source del browser e poi nn si vedrebbe perchè magari sovrapposti...

    io se vuoi ti posto anche tutto il codice php... sono 2 ore che ci sbatto la testa ma non riesco a venirne a capo...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    prova a stampare a video mysql_num_rows($result); dopo la query e vedi se restituisce 2, se sì (come dovrebbe) allora il problema è dentro il ciclo, se no posta la query generata (cioè metti un print $query dopo che definisci la variabile e posta questa stringa per verificare che sia corretta)

  5. #5
    l'ho lasciato nel link cmq ecco il risultato:

    NumRows: 2
    Query: SELECT * FROM `posts` WHERE dv='Ponte di Barche' ORDER BY qnd DESC

    il ciclo è un bel temino...
    [codice php rimosso]
    però non mi ricordo break; o altre cose strane...:S

  6. #6
    Ciao,

    Codice PHP:
    while($logs=mysql_fetch_array($result)){ 
            
    $answers++; 
            
    $sid=$logs['sid']; 
            
    $query="SELECT * FROM members WHERE nome='$sid' LIMIT 1"
    --->        
    $result=mysql_query($query$db
                or die(
    "Errore nell'interazione col server. ".mysql_error($db)); 
            
    $user=mysql_fetch_array($result); 
    Se usi di nuovo $result per la query interna, sovrascrivi quello della prima query.
    Modifica così:
    [PHP]
    Codice PHP:
    while($logs=mysql_fetch_array($result)){ 
            
    $answers++; 
            
    $sid=$logs['sid']; 
            
    $query="SELECT * FROM members WHERE nome='$sid' LIMIT 1"
            
    $result2=mysql_query($query$db
                or die(
    "Errore nell'interazione col server. ".mysql_error($db)); 
            
    $user=mysql_fetch_array($result2); 
    Alessandro
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  7. #7
    ciao,
    al primo passaggio riassegni a $result il risultato di una nuova query, quindi "cancelli" quello ceh avevi tirato su alla prima query. il $result interno al 1° ciclo lo devi chiamare in un altro modo, ceh so, $result2 e tutto va a posto...

  8. #8
    ooooooooooooopssss sono arrivato tardi...

  9. #9
    Magicale, sviluppatori liguri unitevi!

  10. #10
    ok sono un'imbecille.... se vuoi ci vediamo da qlk parte: hai il permesso di pikkiarmi x il tempo k t ho fatto xdere U_U

    GRAZIE MILLE x l'aiuto!!!!

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.