- Home
- Categorie
- Coding e Sistemistica
- Coding
- Stampare risultati di una query fuori dal ciclo
-
Stampare risultati di una query fuori dal ciclo
Ciao a tutti,
Ho una query dove mi estrapola N risultati.
Per estrapolare N risultati dalla query, faccio uso di un While, quindi viene stampato all'interno del ciclo N risultati.
Dovrei far in modo che questi N risultai li possa stampare anche fuori dal ciclo.
COme potrei fare ?
-
Cioè? :():
-
Che parte non hai capito ?
Ho bisogno di portare fuori dal ciclo delle variabili.
Esempio supponendo che la query mi estragga 3 nomi, quindi fa 3 cicli:
[php]
while($riga = mysql_fetch_array($risultato))
{
extract($row);
Print "$nome";
}
[/php]Ho bisogno di riportare fuori, $nome che contiene 3 Nomi, 1 per ogni ciclo, anche mettendole ovviamente in variabili diverse, cioè $nome1,$nome2,$nome3 l'importante è che funzioni anche fuori dal ciclo.
Si può fare sta cosa ?
-
Il casino deriva da lì, dal sapere quante variabili vuoi stampare fuori dal ciclo.
Se il numero di valori è indefinito hai comunque bisogno di un ciclo, se è definito si possono mettere con un indice fisso.
Il numero dei risultati in $risultato è fisso (sempre 3, ad esempio) o variabile?
-
è definito $risultato. sono sempre 3 elementi.
-
Non so come è strutturata la tua tabella ma se sono fissi puoi provare ad adattare un codice tipo questo (non avendo la tua tabella ho strutturato un array ipotetico di nome $risultato):
[PHP]
<?php
$risultato=array(0=>'a', 1=>'b', 2=>'c');
$i = 0;
while($i <= 2)
{
$nome* = $risultato*;
echo $risultato* . '<br />';
$i++;
}
echo $nome[0] . '<br />';
echo $nome[1] . '<br />';
echo $nome[2] . '<br />';
?>[/PHP]
giusto per farti capire il concetto...
-
Non mi è chiaro l'array come deve essere strutturato!
-
Mettimi un esempio della tua query con un esempio della tabella con i relativi valori...
-
[php]
$risultato2 = mysql_query("SELECT * FROM pubblicazione, notizia WHERE pubblicazione.fk_id_notizia = notizia.id_notizia AND notizia.keywords LIKE '%$contenitore_keywords%' LIMIT 0, 3");
while ($row2 = mysql_fetch_array($risultato2)) { $key = $row2['keywords']; //Contiene più parole chiavi separate da virgola }
[/php]
-
Così dovrebbe funzionare
[PHP]
<?php$risultato2 = mysql_query("SELECT * FROM pubblicazione, notizia WHERE pubblicazione.fk_id_notizia = notizia.id_notizia AND notizia.keywords LIKE '%$contenitore_keywords%' LIMIT 0, 3");
$i = 0;
while ($row2 = mysql_fetch_array($risultato2)) {
$key* = $row2['keywords']; //Contiene più parole chiavi separate da virgola
$i++;
}echo $key[0] . '<br />';
echo $key[1] . '<br />';
echo $key[2] . '<br />';
[/PHP]
-
Grazie 1000 ti farò sapere