Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: solo se definito

  1. #1
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870

    solo se definito

    Non riesco a capire perchè se, dopo aver estratto dei dati da mysql, non ottengo ciò che mi serve, cioè, se il campo nome è vuoto vorrei visuallizzare il form altrimenti niente

    Codice PHP:
    <?php
        $sql_select 
    "SELECT * FROM tab_nomi";
        
    $select mysql_query($sql_select) or die ("Errore di selezione".mysql_error());
        
        while (
    $row=mysql_fetch_array($select)){        

    if(
    $row['nome'] == ''){ ?>
    <form name="scrivi" action="ins.php" method="post">
    <textarea name="msg"></textarea>
    <input type="submit" name="submit" value="inserisci" />
    </form>
    <?php
    #chiude if
    #chiude ciclo while
    ?>
    Se faccio

    Codice PHP:
    print $row['nome'] ; 

    visualizzo il campo correttamente....

    Dove sbaglio?

  2. #2
    Il codice è giusto chiaramente è un problema dei dati che estrai dalla tabella

  3. #3

  4. #4

  5. #5
    domanda stupida: c'è un campo 'nome' nella tabella tab_nomi ?

    se fai un echo di $row['nome'] cosa ottieni?
    e se fai echo di $row[0]?
    ..povero silvio, lui è sceso in campo..
    e lo ha fatto per noi...comunisti...

  6. #6
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Originariamente inviato da mauri@como
    domanda stupida: c'è un campo 'nome' nella tabella tab_nomi ?
    Domanda lecita direi, perchè non sarebbe la prima volta che ci si impazzisce sul codice, mentre invece non esiste il campo nel db.

    Comunque si c'è il campo nel db


    se fai un echo di $row['nome'] cosa ottieni?
    Il nome inserito nel campo


    e se fai echo di $row[0]?
    Mi da come risultato 1

  7. #7
    Io non ho mica capito il problema

    Ti visualizza il nome, quindi vuol dire che il form non deve essere visualizzato, invece a te lo visualizza?

  8. #8

  9. #9
    a questo punto prova ad assegnare una variabile a $row['nome'] e a confrontare questa variabile con la stringa ''. Poi magari il confronto fallo anche in or con null (non so, magari dal db tira su quel valore):

    Codice PHP:

    $nome 
    $row['nome'];

    ...

    if(
    $nome == '' || $nome == null){
    ...

    ...

    ciao
    ..povero silvio, lui è sceso in campo..
    e lo ha fatto per noi...comunisti...

  10. #10
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Originariamente inviato da Alberto
    [...] Vorrei appunto che, se il nome è già stato inserito, il form per l'inserimento non venga visualizzato ancora.
    Hai provato controllando direttamente se il valore immesso esiste già oppure no? Dovrebbe essere più semplice così...

    Codice PHP:
    //$nome lo recupri dal form
    $sql mysql_query("SELECT * FROM tab_nomi WHERE nome = '$nome'");
    if(
    mysql_num_rows($sql) > 0) {
    //il nome inserito è già presente nel database
    //altre istruzioni...
    } else {
    //il nome inserito non è presente nel database
    //altre istruzioni...


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.