Visualizzazione risultati 1 fino 11 di 11

Discussione: Problema con If e MySQL

  1. #1
    Guest

    Predefinito Problema con If e MySQL

    Salve a tutti, per il mio sito stavo sperimentando dei Ranks (Admin e Utente), tutto va bene, finchè voglio far visualizzare il rank nella pagina profilo. Questo e' il problema: nel database ho assegnato a "1" il rank Admin e a "0" il rank Utente. Quando vado a visualizzare il profilo di un utente admin faccio così per trasformare l'1 in Admin:

    Codice PHP:

    $sql
    = "SELECT id, user, pass, mail, interessi, msn, web, avatar, rank FROM utenti WHERE user = '$username' ";



    $query = mysql_query ($sql, $db) or die (mysql_error());

    $rank=$row[rank];
    if(
    $rank==0) { $rank1 = 'Utente'; }
    if(
    $rank==1) { $rank1 = 'Admin'; }
    dove $rank saraà la variabile che conterrà 1 o 0 e $rank1 quella che conterrà Admin o Utente e lo mostrerà nella pagina.
    Il problema è che comunque sia il rank dell'utente la variabile mostra 0, mai 1. Un aiutino per piacere?

    E poi se avete tempo di rispondere, sapete come posso formattare il testo automaticamente di modo che ogni volta non debba cambiare caratteri come "è" in "egrave"?

  2. #2
    Guest

    Predefinito

    Codice PHP:
    $row=mysql_fetch_assoc($query);
    $rank=$row['rank'];
    if(
    $rank=='0') { $rank1 = 'Utente'; }
    else if(
    $rank=='1') { $rank1 = 'Admin'; }
    per l'altra domanda, usa htmlentities()


    Ciao!

  3. #3
    Guest

    Predefinito

    scusa, ma non riesco a capire come inserire il tutto nel codice, ti mostro la parte interessata:

    Codice PHP:

    if(isset($_GET["invia"]))
    {

    $db = mysql_connect($db_host, $db_user, $db_password);

    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");

    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");

    $sql = "SELECT id, user, pass, mail, interessi, msn, web, avatar, rank FROM utenti WHERE user = '$username' ";


    $query = mysql_query ($sql, $db) or die (mysql_error());

    $rank=$row[rank];
    if(
    $rank==0) { $rank1 = 'Utente'; }
    if(
    $rank==1) { $rank1 = 'Admin'; }



    while(
    $row = mysql_fetch_array($query))

    {


    echo
    "<center> <br><br><b>Profilo dell'utente ".$row[user]."!</b> <br><br><br><br> <p><img src=".$row[avatar]." width=175 height=200> </p><br><br><table>
    <tr><td><b> e-Mail</b>:</td><td> "
    .$row[mail]."<br></td></tr>
    <tr><td><b>Messenger:</b></td><td> "
    .$row[msn]." <br></td></tr>
    <tr><td><b>Sito Web:</b></td><td> "
    .$row[web]."<br></td></tr>
    <tr><td><b>Interessi: </b></td><td>"
    .$row[interessi]."</td></tr>
    <tr><td><b>Rank:</b></td><td> "
    .$rank1."</td></tr></table> </center>";

    }


    }

    else

    {
    echo
    "<center><br><br>Inserisci un nome Account valido.</center>";

    }

    ?>
    scusa ancora per il disturbo e grazie della risposta.

  4. #4
    Guest

    Predefinito

    Ho semplicemente modificato una parte di ciò che hai scritto, quindi ti basta sostituire quello che c'è attualmente con quello che ti ho postato.


    Ciao!

  5. #5
    Guest

    Predefinito

    ho fatto e quando vado a cercare l'utente nella pagina dei profili mi porta uno spazio vuoto, comunque vorrei che notassi che il
    Codice PHP:
    $row=mysql_fetch_assoc($query);
    lo trovi più sotto dentro il while ma in "array" perciò chiedevo come dovessi adattare il tutto

  6. #6
    Guest

    Predefinito

    Non puoi usare un array prima che questo sia creato e popolato!
    Cancella le mie modifiche e sposta questo subito dopo l'apertura del while:

    $rank=$row['rank'];
    if($rank=='0') { $rank1 = 'Utente'; }
    else if($rank=='1') { $rank1 = 'Admin'; }


    Ciao!

  7. #7
    Guest

    Predefinito

    appunto, perciò avevo provato anche questo, ed il risultato non cambia...

  8. #8
    Guest

    Predefinito

    Intanto metti tra apici tutte le chiavi dell'array $row (come ho fatto per 'rank')
    Poi posta il codice modificato.


    Ciao!

  9. #9
    Guest

    Predefinito

    A te:
    Codice PHP:
    if(isset($_GET["invia"]))
    {

    $db = mysql_connect($db_host, $db_user, $db_password);

    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");

    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");

    $sql = "SELECT id, user, pass, mail, interessi, msn, web, avatar, rank FROM utenti WHERE user = '$username' ";



    while(
    $row = mysql_fetch_array($query))

    {

    $rank=$row['rank'];
    if(
    $rank=='0') { $rank1 = 'Utente'; }
    else if(
    $rank=='1') { $rank1 = 'Admin'; }

    echo
    "<center> <br><br><b>Profilo dell'utente ".$row['user']."!</b> <br><br><br><br> <p><img src=".$row['avatar']." width=175 height=200> </p><br><br><table>
    <tr><td><b> e-Mail</b>:</td><td> "
    .$row['mail']."<br></td></tr>
    <tr><td><b>Messenger:</b></td><td> "
    .$row['msn']." <br></td></tr>
    <tr><td><b>Sito Web:</b></td><td> "
    .$row['web']."<br></td></tr>
    <tr><td><b>Interessi: </b></td><td>"
    .$row['interessi']."</td></tr>
    <tr><td><b>Rank:</b></td><td> "
    .$rank1."</td></tr></table> </center>";

    }


    }

  10. #10
    Guest

    Predefinito

    Hai cancellato anche l'esecuzione della query:

    $query = mysql_query ($sql, $db) or die (mysql_error());


    Ciao!

  11. #11
    Guest

    Predefinito

    grazie mille tutto risolto! Ancora grazie!

Regole di scrittura

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