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

    creazione foreach da un array

    Ciao ho un DB dal quale estraggi i dati dei campi city, nome, foto. Creo un array con questi dati estratti e assegno loro una variabile.

    $query="SELECT city, nome FROM tabella ";
    $result = mysql_query($query);
    while ($row = mysql_fetch_array($result)){
    $city= $row["city"];
    $nome = $row["nome"];
    }

    mysql_free_result($result);

    Ora vorrei creare un foreach che mi permetta di stampare questi tre dati al'interno di un div che verrà quindi replicato per tutti gli altri dati contenuti nel db. ES:

    <?php
    echo"
    <div class=\"dati\">
    Città: $city

    Nome: $nome

    </div>

    ";?>

    Ho provato così ma credo sia sbagliato:

    <?php
    foreach ($result as $dati){
    echo"<div class=\"dati\">
    $dati['city ']

    $dati['nome ']

    </div>"
    }
    ;?>

    Qualcuno mi sa spiegare dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    ma la variabile $dati da dove arriva?

  3. #3
    non arriva da nessuna parte è un valore che associo io all'array per scorrerlo

    foreach ($array_da_attraversare as $valore_elemento)

    {

    // istruzioni da iterare

    }

  4. #4


    foreach ($result as $dati){

    $result e' il resource id number della query.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Se scrivo semplicemente così riesco a stampare le variabili che arrivano dall'array ma ora non so come mettere il tutto in un ciclo per ripetere il div con tutti i dati del db


    <?php

    echo"<div class=\"dati\">
    Città: $city

    Nome: $nome

    </div>"

    ;?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    324
    Ma il primo ciclo non ti basta?

    Codice PHP:

    $query
    ="SELECT city, nome FROM tabella ";
    $result mysql_query($query);
    while (
    $row mysql_fetch_array($result)){

    echo 
    "<div class=\"dati\">;
    echo 
    $row["city"] ;
    echo 
    $row["nome"] ;
    echo "
    </div>";


    Ho la sindrome di Peter Pan, le manie di persecuzione...se sapessi suonare uno strumento sicuramente avrei anche un complesso.

  7. #7
    no non mi basta per fare quello che ho scritto. devo creare un foreach che mi consenta di replicare i div cambiando le variabili prese dal db

  8. #8
    Ho provato a fare così:

    $query="SELECT id_utente, id_annuncio, dove_sono, data, nome, sesso, taglia, telefono, mail, provenienza, adottabile, adottato, convivenza, annuncio, foto
    FROM annunci
    ";
    $result = mysql_query($query);
    $array = mysql_fetch_array($result);

    foreach($array as $key=>$value)
    {
    $abstract =substr($array['annuncio'], 0, 200);

    echo"

    <div class=\"pippo\">
    Nome:" .$array['nome']."
    Cognome:" .$array['cognome']."

    </div>

    Mi crea l'elenco con il solo problema che mi cicla sempre gli stessi valori, non scorre le righe del db. Come posso correggere?

    ";
    }
    ?>

  9. #9
    mysql_fetch_array() ti rende solo una riga del result set come array.

    Usa il WHILE come gia' e' stato detto. Occhio poi che tenti di stampare un
    Cognome:" .$array['cognome']."

    che non esiste nel result set. Il substr() lo potresti applicare direttamente nella query.

    select campi, substr(annuncio, 0, 200) As annuncio .... etc

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    no come mi state indicando voi non funziona, avevo già provato

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.