Visualizzazione risultati 1 fino 8 di 8

Discussione: [PHP] query di stampa

  1. #1
    araim non è connesso Utente attivo
    Data registrazione
    26-06-2004
    Messaggi
    275

    Predefinito [PHP] query di stampa

    sul db ho una tabella che si chiama t_chat_N, dove N è un numero che si genera automaticamente ogni volta che si apre una chat. Alla chiusura della chat, la tabella t_chat_N viene cancellata con il suo contenuto.

    Stò stampando il contenuto della chat, che per test contiene 2 righe.

    Codice PHP:
    $row=mysql_query("SELECT * FROM t_chat_$id ORDER BY id_frase DESC");
    while(
    $stamp=mysql_fetch_array($row)) {

    $row=mysql_query("SELECT * FROM t_utenti WHERE id_utente='$stamp[id_utente]'");
    $nome=mysql_fetch_array($row);

    $razza=$nome[razza].substr("$nome[sesso]",0,1);

    echo
    " <div class=\"riga\">";
    echo
    " <div class=\"data\">$stamp[data]</div>";
    echo
    " <div class=\"nome\"><img src=\"icorazza/$razza\" width=\"10\" height=\"10\" align=\"absmiddle\"> $nome[username]</div>";
    echo
    " <div class=\"simbolo\"><img src=\"ico/$stamp[simbolo].gif\" width=\"20\" height=\"20\"></div>";
    echo
    " <div class=\"frase\">$stamp[frase]</div>";
    echo
    " </div>";


    }
    ne stampa soltanto 1
    sarà che lo script è mio, e non riesco a capire l'errore, ma non riesco a risolvere. mi potete aiutare?

  2. #2
    Guest

    Predefinito

    Prova con questa sintassi più corretta:
    Codice PHP:
    $row=mysql_query("SELECT * FROM t_chat_$id ORDER BY id_frase DESC");
    while(
    $stamp=mysql_fetch_array($row)) {

    $row=mysql_query("SELECT * FROM t_utenti WHERE id_utente='".$stamp['id_utente']."'");
    $nome=mysql_fetch_array($row);

    $razza=$nome['razza'].substr($nome['sesso'],0,1);

    echo
    " <div class=\"riga\">";
    echo
    " <div class=\"data\">".$stamp['data']."</div>";
    echo
    " <div class=\"nome\"><img src=\"icorazza/$razza\" width=\"10\" height=\"10\" align=\"absmiddle\"> ".$nome['username']."</div>";
    echo
    " <div class=\"simbolo\"><img src=\"ico/".$stamp['simbolo'].".gif\" width=\"20\" height=\"20\"></div>";
    echo
    " <div class=\"frase\">".$stamp['frase']."</div>";
    echo
    " </div>";


    }
    Se ancora non dovesse funzionare, stampa semplicemente tutte le righe nella tabella:
    Codice PHP:
    $row=mysql_query("SELECT * FROM t_chat_$id ORDER BY id_frase DESC");
    while(
    $stamp=mysql_fetch_array($row)) {
    print_r($stamp);
    }
    Ciao!

  3. #3
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    prova a postare le tabelle del db e come le crei ed elimini.
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  4. #4
    araim non è connesso Utente attivo
    Data registrazione
    26-06-2004
    Messaggi
    275

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Codice PHP:
    $row=mysql_query("SELECT * FROM t_chat_$id ORDER BY id_frase DESC");
    while(
    $stamp=mysql_fetch_array($row)) {
    print_r($stamp);
    }
    questa va in stampa, la tua correzione stampa soltanto la prima riga,
    ti copio quello che manda in stampa tagliando parte del testo della frase.

    Array (
    [0] => 2 [id_frase] => 2
    [1] => 1 [id_utente] => 1
    [2] => 10101 [simbolo] => 10101
    [3] => 23.50 [data] => 23.50
    [4] => prova di una frase tanto per vedere la connessione e la stampa. [frase] => prova di una frase tanto per vedere la connessione e la stampa. )

    Array (
    [0] => 1 [id_frase] => 1
    [1] => 1 [id_utente] => 1
    [2] => 10001 [simbolo] => 10001
    [3] => 23.40 [data] => 23.40
    [4] => prova di una frase tanto per vedere la connessione e la stampa.[frase] => prova di una frase tanto per vedere la connessione e la stampa. )

    come posso risolvere??



    Crezione della tabella dove $luogo[id_luogo] viene preso da una interrogazione query, diamo quindi per assodato che ora quella variabile sia pari ad 1
    Codice PHP:
    $row=" CREATE TABLE `t_chat_$luogo[id_luogo]` (
    `id_frase` INT( 10 ) NOT NULL AUTO_INCREMENT,
    `id_utente` VARCHAR( 10 ) NOT NULL ,
    `simbolo` VARCHAR( 10 ) NOT NULL ,
    `data` VARCHAR( 16 ) NOT NULL ,
    `frase` VARCHAR( 500 ) NOT NULL ,
    PRIMARY KEY ( `id_frase` )
    ) ENGINE = MYISAM "
    ;
    $tabella=mysql_query($row);
    la tabella si crea correttamente.
    script di stampa delle righe
    Codice PHP:
    $row=mysql_query("SELECT * FROM t_chat_".$luogo['id_luogo']." ORDER BY id_frase DESC");
    while(
    $stamp=mysql_fetch_array($row)) {

    $row=mysql_query("SELECT * FROM t_utenti WHERE id_utente='".$stamp['id_utente']."'");
    $nome=mysql_fetch_array($row);

    $razza=$nome['razza'].substr($nome['sesso'],0,1);

    echo
    " <div class=\"riga\">";
    echo
    " <div class=\"minuti\">".$stamp['data']."</div>";
    echo
    " <div class=\"nome\"><img src=\"icorazza/$razza\" width=\"10\" height=\"10\" align=\"absmiddle\"> ".$nome['username']."</div>";
    echo
    " <div class=\"simbolo\"><img src=\"ico/".$stamp['simbolo'].".gif\" width=\"20\" height=\"20\"></div>";
    echo
    " <div class=\"frase\">".$stamp['frase']."</div>";
    echo
    " </div>";


    }
    Ultima modifica di araim : 21-10-2008 alle ore 12.09.09

  5. #5
    Guest

    Predefinito

    Allora deve andare a buon fine anche il ciclo originale.
    Eseguilo e guarda il sorgente HTML generato.


    Ciao!

  6. #6
    araim non è connesso Utente attivo
    Data registrazione
    26-06-2004
    Messaggi
    275

    Predefinito

    ti allego il codice andato in stampa

    Codice HTML:
     <LINK REL=STYLESHEET TYPE="text/css" HREF="./template/stylein.css">
     <div id="pagina">
     	<div id="chatread" style=" color: #000000;">
    
    	 <div class="riga"> <div class="minuti">23.50</div> <div class="nome"><img src="icorazza/umanom" width="10" height="10" align="absmiddle"> araim</div> <div class="simbolo"><img src="ico/10101.gif" width="20" height="20"></div> <div class="frase">prova di una frase tanto per vedere la connessione e la stampa. prova di una frase tanto per vedere la connessione e la stampa. prova di una frase tanto per vedere la connessione e la stampa. prova di una frase tanto per vedere la connessione e la stampa. prova di una frase tanto per vedere la connessione e la stampa. prova di una frase tanto per vedere la connessione e la stampa. prova di una frase tanto per vedere la connessione e la stampa. prova di una frase tanto per vedere la connessione e</div> </div>
    
         </div>
        <div id="chatwrite"></div>
     </div>

    ti allego il link alla chat in questione,
    che per ora è vuota dato che testo in locale
    fra un minuto aggiungo 2 3 righe dentro il db.

    http://araim.altervista.org/chat.php?id=1

    la tabella è già creata.
    Ho fatto la prova del nove: ho aggiunto un contatore che
    esegue la stessa stringa di codice, e quello pare funzionare.
    difatti se guardate indica 2, che sono le frasi inserite nel db.


    Ho capito quale script da fastidio alla query di stampa:
    Codice PHP:
    $row=mysql_query("SELECT * FROM t_utenti WHERE id_utente='".$stamp['id_utente']."'");
    $nome=mysql_fetch_array($row);
    come l'ho inserito nel while dello script contatore questo ha indicato come numero solo 1.
    il problema risulta essere il $row uguale alla while ... questo va rinominato in $row_
    Ultima modifica di araim : 21-10-2008 alle ore 12.23.14

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    state entrambi sovrascrivendo $row all'interno del ciclo, occhio

  8. #8
    araim non è connesso Utente attivo
    Data registrazione
    26-06-2004
    Messaggi
    275

    Predefinito

    si infatti ho notato, e risolto, però la cosa strana è che in altri while non mi ha mai dato problemi di alcun genere. ora la stampa della chat funziona, grazie a tutti per la pazienza e l'aiuto ^^

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •