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

    Controllo campo vuoto su db

    Salve, ho un problema a rilevare un campo vuoto da un db, ossia:
    Tabella appuntamento
    codice:
    CREATE TABLE appuntamento(
    	id_a		int auto_increment NOT NULL,
    	data_app	date NOT NULL,
    	testo		text NOT NULL,
    	username	varchar(30) NOT NULL,
    	PRIMARY KEY(id_a),                                 
    	FOREIGN KEY(username) REFERENCES utente(username)
    );
    ora passiamo alla parte di php, devo visualizzare "nessun appuntamento" se non esistono appuntamenti per la data odierna:
    codice:
    <?php
    $adesso=time();
    $oggi=date("Y-m-d",$adesso);
    
    $query="SELECT * FROM appuntamento 
    WHERE username=\"$_SESSION[username]\" AND 
    data_app=\"$oggi\"";
    
    $ris=mysql_query($query);
    while($riga=mysql_fetch_array($ris)){
    if($riga[testo]==""){
    	echo	"<tr>
    			<td><a class=\"voce_tab\">nessun appuntamento</a></td>
    		</tr>
    	";
    }
    else{
    	echo	"<tr>
    			<td><a class=\"voce_tab\">$riga[testo]</a></td>
    		</tr>
    	";
    }
    ?>

  2. #2
    Prova così:
    Codice PHP:
    <?php
    $adesso
    =time();
    $oggi=date("Y-m-d",$adesso);

    $query="SELECT * FROM appuntamento 
    WHERE username=\"
    $_SESSION[username]\" AND 
    data_app=\"
    $oggi\"";

    $ris=mysql_query($query);
    $num_righe=mysql_numrows($ris);
    if(
    $num_righe==0) echo "Nessun appuntamento per oggi!";
    else{
    while(
    $riga=mysql_fetch_array($ris)){
    if(
    $riga[testo]==""){
        echo    
    "<tr>
                <td><a class=\"voce_tab\">[i]nessun appuntamento[/i]</a></td>
            </tr>
        "
    ;
    }
    else{
        echo    
    "<tr>
                <td><a class=\"voce_tab\">[i]
    $riga[testo][/i]</a></td>
            </tr>
        "
    ;
    }}
    ?>

  3. #3
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Non so esattamente come hai deciso di salvare i dati nel database ma idealmente dato per assunto che non salvi niente se non c'è appuntamento, il primo if all'interno del while non serve in quanto, in assenza di appuntamento, nel while non ci entra nemmeno.

    Pertanto prima di avviare il ciclo while verifica l'esistenza di record nel risultato con mysql_num_rows e solo se maggiore di 0 esegui il ciclo altrimenti mostri nessun appuntamento trovato.

  4. #4
    Perfetto funiona, Grazie

  5. #5
    Di niente =)

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.