Visualizzazione risultati 1 fino 5 di 5

Discussione: Foreach: problema

  1. #1
    Guest

    Predefinito Foreach: problema

    Salve, nel db ho una tabella per ogni lettera, nella quale sono contenuti "proprietario","video","categoria","crediti"," ip" .. Ora vorrei che in una pagina tali dati vengono richiamati, ovviamente c'è piu' di una riga per ogni campo e quindi avevo strutturato così un foreach:

    Codice PHP:
    <?

    include('settings.php');

    $pro = mysql_query("SELECT proprietario FROM lettera_l") or die (mysql_error());
    $proprietario = mysql_fetch_array($pro);

    $vid = mysql_query("SELECT video FROM lettera_l") or die (mysql_error());
    $video = mysql_fetch_array($vid);

    $cat = mysql_query("SELECT categoria FROM lettera_l") or die (mysql_error());
    $categoria = mysql_fetch_array($cat);

    $creds = mysql_query("SELECT crediti FROM lettera_l") or die (mysql_error());
    $crediti = mysql_fetch_array($creds);

    foreach (
    $proprietario as $value) {
    foreach (
    $video as $value2) {
    foreach (
    $categoria as $value3) {
    foreach (
    $crediti as $value4) {
    echo
    '<span class="title">'.$value.' '.$value3.' per '.$value4.'</span><br /><iframe src="'.$value2.'" width="640" height="400" frameborder="0"></iframe>';
    }
    }
    }
    }

    ?>
    Il problema è il seguente: La parte in echo viene ripetuta piu' di una volta nonostante ci sia una sola riga (credo dipenda dai 4 foreach), quindi come lo strutturo facendo in modo che venga ripetuto una sola volta con quei dati?

  2. #2
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    "SELECT proprietario,video,categoria,crediti FROM lettera_l"
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  3. #3
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    devi utilizzare un ciclo while e non un foreach, impostando una sola query, così:
    Codice PHP:

    $pro
    = mysql_query("SELECT proprietario, video, categoria, crediti FROM lettera_l") or die (mysql_error());

    $num_pro = @mysql_num_rows ($pro);

    if (
    $num_pro > 0) {
    while (
    $ref_pro = @mysql_fetch_array ($pro)){

    $value=$ref_pro['proprietario'];
    $value2=$ref_pro['video'];
    $value3=$ref_pro['categoria'];
    $value4=$ref_pro['crediti'];

    echo
    '<span class="title">'.$value.' '.$value3.' per '.$value4.'</span><br /><iframe src="'.$value2.'" width="640" height="400" frameborder="0"></iframe>';


    }
    }
    Ultima modifica di EuroSalute : 17-05-2011 alle ore 17.01.45 Motivo: correzzioni...
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  4. #4
    Guest

    Predefinito

    Grazie eurosalute, scusa l' ignoranza ma chiocciola prima di mysql_num_rows o fetch_array cosa indica?

  5. #5
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

Regole di scrittura

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