Visualizzazione dei risultati da 1 a 7 su 7

Discussione: if php

  1. #1
    Utente di HTML.it L'avatar di izzusan
    Registrato dal
    Apr 2003
    Messaggi
    463

    if php

    ciao raga giuro che questa è l'ultima volta che vi rompo!

    ho unproblema sto impazzendo!

    $query = mysql_query("SELECT progetti . * , testi . * FROM progetti, testi WHERE progetti.nome_progetto = testi.progetto")or die(mysql_error() );
    mysql_close($db);

    while ($row = mysql_fetch_array($query)){
    if($row == "NULL"){
    echo '<h1>nessun progetto presente!</h1>';
    }
    else {
    echo $row[1]."

    ";
    echo $row[2]."

    ";
    echo $row[4]."

    ";
    echo $row[5]."

    ";
    echo $row[6]."

    ";
    echo $row[7]."

    ";

    }
    }

    se il db è vuoto quindi row e vuoto xke nn mi stampa nessun progetto presente ??

  2. #2
    Semplicemente perché non entra nel ciclo while se la query non restituisce nulla.



    Infatti quando fai
    while ($row = mysql_fetch_array($query))

    non trova nulla

    La connessione, poi, la devi chiudere dopo il while.

    mysql_close($db);

  3. #3
    Utente di HTML.it L'avatar di izzusan
    Registrato dal
    Apr 2003
    Messaggi
    463
    che pirletta che sono grazie ciauz:

  4. #4
    Una delle soluzione concettualmente più lineari:
    Codice PHP:
    $query "SELECT progetti . * , testi . * FROM progetti, testi WHERE progetti.nome_progetto = testi.progetto";
    $result mysql_query($query$db) Or die(mysql_error($db));
    $result_num mysql_num_rows($result);
    if (
    $result_num) {
        while (
    $row mysql_fetch_array($result)) {
            echo 
    "

    "
    .$row[1]."</p>
            

    "
    .$row[2]."</p>
            

    "
    .$row[4]."</p>
            

    "
    .$row[5]."</p>
            

    "
    .$row[6]."</p>
            

    "
    .$row[7]."</p>\n";
        }
    }
    mysql_close($db); 
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  5. #5
    Originariamente inviato da emanueledg
    Una delle soluzione concettualmente più lineari:
    Codice PHP:
    $query "SELECT progetti . * , testi . * FROM progetti, testi WHERE progetti.nome_progetto = testi.progetto";
    $result mysql_query($query$db) Or die(mysql_error($db));
    $result_num mysql_num_rows($result);
    if (
    $result_num) {
        while (
    $row mysql_fetch_array($result)) {
            echo 
    "

    "
    .$row[1]."</p>
            

    "
    .$row[2]."</p>
            

    "
    .$row[4]."</p>
            

    "
    .$row[5]."</p>
            

    "
    .$row[6]."</p>
            

    "
    .$row[7]."</p>\n";
        }
    }
    mysql_close($db); 
    Ma così hai 2 istruzioni in + ke non ti servono:

    $result_num = mysql_num_rows($result);

    e il controllo:

    if ($result_num) {


    Puoi direttamente fare:

    while ($row = mysql_fetch_array($result))
    {
    echo "

    ".$row[1]."</p>


    ".$row[2]."</p>


    ".$row[4]."</p>


    ".$row[5]."</p>


    ".$row[6]."</p>


    ".$row[7]."</p>\n";
    }

    Se puoi vuoi fare un ulteriore miglioramento, visto che nello scandire le righe del ResultSet accedi ai campi non con il loro nome ma con l'indice di posizione, al posto di mysql_fetch_array puoi usare mysql_fetch_row ke è leggermente + veloce.

  6. #6
    Ho detto "soluzione concettualmente più lineare" mettendo tutti i passaggi per far capire, ma se sei interessato alla compressione bastano 2 righe di codice:

    Codice PHP:
    if ($result mysql_query("SELECT progetti . * , testi . * FROM progetti, testi WHERE progetti.nome_progetto = testi.progetto"$db)) {
        while (
    $row mysql_fetch_array($result)) { echo "

    "
    .$row[1]."</p>\n

    "
    .$row[2]."</p>\n

    "
    .$row[4]."</p>\n

    "
    .$row[5]."</p>\n

    "
    .$row[6]."</p>\n

    "
    .$row[7]."</p>\n"; }
    }
    mysql_close($db); 
    Emanuele DG
    <?php echo "Proverbio zen(d): vivi ogni giorno come se fosse il ".date('d M Y', time()); ?>
    Intellectual property

  7. #7
    Non mi riferivo alla compressione, anche perché sinceramente odio quello stile di scrivere codici che non si capisce na' mazza.
    La mia osservazione era solo per sottolineare che "concettualmente parlando" il concetto (scusa il gioco di parole) poteva essere ulteriormente semplificato.
    L'importante è ke izzusan abbia risolto il suo problema.

    Ciao.

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.