Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [php] if

  1. #1

    [php] if

    Ave a tutti!

    ho questo codice:

    Codice PHP:
    <?
    /*questo fa riferimento ad un form di ricerca*/
    $nome $_POST['nome'];

    /*questo if funziona*/
    if ($nome == FALSE) {
      echo 
    "Inserisci almeno un criterio di ricerca!";
      exit;
    }

    /*mi estrae correttamente i dati secondo questi criteri*/
    $query "SELECT * FROM tsl_piante WHERE nome LIKE '$nome%' ORDER BY nome";

    $result mysql_query($query)
        or die (
    "Non riesco ad eseguire la richiesta");

    while (
    $row mysql_fetch_array($result)) {


    /* qui c'è il mio problema*/
    if ($query FALSE) {
        echo 
    "Spiacenti: la pianta denominata ".$nome."non è presente nel nostro archivio.";
        exit;
    } else {
        echo    
    ?>


    <div style="float:right; margin-left:10px;" >
         <a href="imgs/tsl_piante/<? echo $row['immagine']?>" target="_blank">
         [img]imgs/tsl_piante/<? echo $row['immagine']?>[/img]">
         </a>
    </div>
        
    <div style="margin-top: 10px;">
    [b]Nome:[/b]&nbsp <? echo $row['nome']?>;


    [b]Tipologia:[/b]&nbsp <? echo $row['tipologia']?>;


    [b]Ecologia:[/b]&nbsp <? echo $row['ecologia']?>;


    [b]Fiori o frutti:[/b]&nbsp <? echo $row['fiori_frutti']?>;



    <p align="center">[b]Descrizione[/b]</p><? echo $row['descrizione']?>.

    </div>
                
    <hr>            
            
    <?        ;}
    ;}

    mysql_close($connessione);
    ?>
    come da commento ho un problema nella stampa dell'estrazione dei record richiesti...ovvero il problema contrario:
    perchè se trova un record mi stampa il tutto ma se non trova nulla non mi scrive "spiacenti..." ecc. ecc.???

    :rollo:
    Ritengo di avere 2 grandi pregi: il primo è una memoria di ferro; il secondo...mmmhhh va beh ora proprio non me lo ricordo!

  2. #2
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Ci sono due errori
    1 - if ($query = FALSE) non è un confronto ma un'assegnazione
    2 - se anche così non fosse, $query non sarà mai FALSE dato che è una stringa.

    Per sapere se la query ha prodotto risultati, prima del while metti un
    Codice PHP:
    if (mysql_num_rows($result) == 0) {
    // nessun risultato
    }
    else {
    // ciclo while


  3. #3

    beh...

    ...che dire valvonauta: sono commosso

    ora il tutto funza alla perfezione!

    grazie 1000

    Ritengo di avere 2 grandi pregi: il primo è una memoria di ferro; il secondo...mmmhhh va beh ora proprio non me lo ricordo!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.