Visualizzazione risultati 1 fino 8 di 8

Discussione: stringa non letta

  1. #1
    Guest

    Predefinito stringa non letta

    ciao a tutti ho questo script che non mi funziona:
    Codice PHP:
    $query = " SELECT * FROM foto WHERE nick = '$nickname' ";
    $invio=mysql_query($query); $numrows = mysql_num_rows($invio);

    while(
    $row = mysql_fetch_array($invio)){
    $url = $row['url'];$visib = $row['visibile'];

    if(
    file_exists($url))
    { if(
    $visib="pubblica"){ ...stampa a schermo la foto...} else { ...non visibile}
    }
    }
    in pratica uso il database per memorizzare le url delle immagini + un altro campo per tenerle private o pubbliche... però il sistema non va perchè me le stampa tutte senza tener conto della visibilità assegnata!! qualcuno sa dirmi dove sbaglio?? il campo visibilità era varchar poi longtext ma non mi funziona lo stesso :(
    Ultima modifica di xspacemasterx : 31-12-2011 alle ore 00.35.06

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Codice PHP:
    if($visib="pubblica")
    Quello è l'operatore di assegnamento... Invece lì andrebbe l'operatore di confronto

    Comunque, usare una stringa o addirittura un longtest per salvare chi lo può vedere, mi sembra eccessivo...
    Potresti usare un bool (0 o 1). Ad esempio, puoi codificarli con 0=privato, 1=pubblico. Se hai altre combinazioni, puoi usare un numero, ma usare una stringa mi sembra uno spreco di memoria!

    Ah, comunque è molto meglio selezionarli direttamente in mysql, ad esempio, nel tuo caso (esempio):

    Codice:
    $query = " SELECT * FROM foto WHERE nick = '$nickname' AND visibile='pubblica'";
    Ciao!
    Ultima modifica di alemoppo : 31-12-2011 alle ore 00.41.07 Motivo: adeguamento alla modifica del sorgente

  3. #3
    Guest

    Predefinito

    ciao alemoppo si lo so ma sta cosa del pubblico e privato mi è venuta in secondo momento e ora dovrei rifare tutto daccapo :( non cè qualche altra soluzione?? intendo qui ho sintetizzato il problema ma lo script è molto+lungo.... :(

    EDIT:

    Codice:
    $query = " SELECT * FROM foto WHERE nick = '$nickname' AND visibile='pubblica'";
    so che è meglio così ma a me serve visualizzarli in quel modo.. con questo dovrei fare un altra query per il visibile='privato' però ho già impaginato il tutto per visualizzare 5righe alla volta
    Ultima modifica di alemoppo : 31-12-2011 alle ore 00.54.52 Motivo: Usa il tasto "Edita"

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Mi sembra ti ho dato più di una soluzione, no?

    Ricapitolando:
    Codice PHP:
    $query = " SELECT * FROM foto WHERE nick = '$nickname' ";
    $invio=mysql_query($query); $numrows = mysql_num_rows($invio);

    while(
    $row = mysql_fetch_array($invio)){
    $url = $row['url'];$visib = $row['visibile'];

    if(
    file_exists($url))
    { if(
    $visib=="pubblica"){ ...stampa a schermo la foto...} else { ...non visibile}
    }
    }
    Oppure:

    Codice PHP:
    <?php
    $query
    = " SELECT * FROM foto WHERE nick = '$nickname' AND visibile = 'pubblica' ";
    $invio=mysql_query($query); $numrows = mysql_num_rows($invio);

    while(
    $row = mysql_fetch_array($invio)){
    stampa a schermo la foto$row['url']
    }
    ?>
    Ciao!

  5. #5
    Guest

    Predefinito

    Codice PHP:
    { if($visib==="pubblica"){ ...stampa a schermo la foto...} else { ...non visibile}
    }
    uff ho provato anche così ma me le stampa tutte lo stesso!!!
    il campo visibile sul database può essere pubblico e privato ma non capisco xkè mi esegue sta cosa in modo anomalo :(
    Ultima modifica di alemoppo : 31-12-2011 alle ore 01.02.24 Motivo: +tag [php]

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    Metti solo due "uguale", non tre (anche se in effetti dovrebbe andar uguale).

    Prova a stampare $visib per vedere cosa contiene...

    Ciao!

  7. #7
    Guest

    Predefinito

    si fatto anche in questo modo!!! mi stampa il valore esatto dal database ma nnon riesco a capire cosa non và eppure è uno script semplice ::(

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,270

    Predefinito

    se $visib contiene "pubblica", l'if:
    Codice PHP:
    if($visib == "pubblica")
    non fallisce...

    Ciao!

Regole di scrittura

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