Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [php/mysql]problemi con while

    Ciao a tutti, avrei un problemino:
    ho questo codice php che dovrebbe dare in output la lista degli utenti attualmente connessi un una determinata pagina, solo che tutto tace, ovvero risultati = 0
    Codice PHP:
    include "inc/db_conn.php";
    $loca mysql_query("SELECT locazione FROM utenti WHERE id = '$_SESSION[id]'") or die (mysql_error());
    $loca1 mysql_fetch_array($loca);
    $online mysql_query("SELECT * FROM online WHERE locazione = '$loca1[locazione]' LIMIT 12") or die (mysql_error());
    while (
    $on1 mysql_fetch_array($online)) {
       
    $a mysql_query("SELECT * FROM utenti WHERE id = '$on1[id]'") or die (mysql_error());
       while (
    $b mysql_fetch_array($a)) {
       if (
    $a['admin'] == "1") {
          echo 
    "<span class=\"verde\"><a href=\"avatar1.php\" onclick=\"newWindow(this.href, 'pop', 500, 400, 0, 1, 0, 0, 0, 0, 0); return false;\" target=\"_blank\">".$a['nome']."</a></span>
    "
    ;
       } else {
           if (
    $a['sesso'] == "Maschio") {
               echo 
    "<span class=\"blu\"><a href=\"avatar1.php?id=".$a['id']."\" onclick=\"newWindow(this.href, 'pop', 500, 400, 0, 1, 0, 0, 0, 0, 0); return false;\" target=\"_blank\">".$a['nome']."</a></span>
    "
    ;
           } if (
    $a['sesso'] == "Femmina") {
               echo 
    "<span class=\"viola\"><a href=\"avatar1.php?id=".$a['id']."\" onclick=\"newWindow(this.href, 'pop', 500, 400, 0, 1, 0, 0, 0, 0, 0); return false;\" target=\"_blank\">".$a['nome']."</a></span>
    "
    ;
    }
    }

    qualcuno scova l'errore?
    il codice mysql è pulito, infatti ad ogni query ho messo un mysql_error() che non da errori...non riesco a capire!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    1,965
    Manca una graffa di chiusura, se avessi indentato bene l'avresti visto:

    Codice PHP:
    include "inc/db_conn.php";
    $loca mysql_query("SELECT locazione FROM utenti WHERE id = '$_SESSION[id]'") or die (mysql_error());
    $loca1 mysql_fetch_array($loca);
    $online mysql_query("SELECT * FROM online WHERE locazione = '$loca1[locazione]' LIMIT 12") or die (mysql_error());

    while (
    $on1 mysql_fetch_array($online)) {
        
    $a mysql_query("SELECT * FROM utenti WHERE id = '$on1[id]'") or die (mysql_error());
        while (
    $b mysql_fetch_array($a)) {
            if (
    $a['admin'] == "1") {
                echo 
    "<span class=\"verde\"><a href=\"avatar1.php\" onclick=\"newWindow(this.href, 'pop', 500, 400, 0, 1, 0, 0, 0, 0, 0); return false;\" target=\"_blank\">".$a['nome']."</a></span>
    "
    ;
            } else {
                if (
    $a['sesso'] == "Maschio") {
                    echo 
    "<span class=\"blu\"><a href=\"avatar1.php?id=".$a['id']."\" onclick=\"newWindow(this.href, 'pop', 500, 400, 0, 1, 0, 0, 0, 0, 0); return false;\" target=\"_blank\">".$a['nome']."</a></span>
    "
    ;
                }
                if (
    $a['sesso'] == "Femmina") {
                    echo 
    "<span class=\"viola\"><a href=\"avatar1.php?id=".$a['id']."\" onclick=\"newWindow(this.href, 'pop', 500, 400, 0, 1, 0, 0, 0, 0, 0); return false;\" target=\"_blank\">".$a['nome']."</a></span>
    "
    ;
                }
            }
        }


  3. #3
    ma non dovrebbe dare un parse error??

  4. #4
    probabilmente nel php.ini l'output degli errori e settato ad off o non sono settati i parse error
    prova a scrivere nel file php
    error_reporting ( E_ALL ~ E_NOTICE ) ;
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

  5. #5
    non ho accesso al server...
    ma ripeto, un parse error dovrebbe stamparmelo, l'ha sempre fatto!
    non è un errore logico?

  6. #6
    codice:
       $a = mysql_query("SELECT * FROM utenti WHERE id = '$on1[id]'") or die (mysql_error());
    
       while ($b = mysql_fetch_array($a)) {
    
       if ($a['admin'] == "1") {
    i dati sono in $b ...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    PIERO TI AMOO!!!!!
    hai risolto un problema su cui mi scervellavo da settimane!!
    maledetto me quando non rileggo con attenzione il codice...

  8. #8
    altra curiosità: xchè me ne stampa uno solo?

  9. #9
    Originariamente inviato da KaNnA
    altra curiosità: xchè me ne stampa uno solo?
    nella seconda SELECT punti ad un singolo id... riceverai solo un record, quindi togli il while

    while ($b = mysql_fetch_array($a)) {

    il while non serve a nulla. Perche' ne stampa uno solo dei 12.... bisognerebbe valutare bene cosa succede. comincia ad eliminare il while annidato.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    ok, l'ho tolto, ma il risultato è sempre quello....c'è qualcosa che non torna

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.