-
funzione split aiuto!
Ciao a tutti
ho un problema in php con la funzione split
nella mia tabella presenta nel database c'è un campo di nome Categoria che contiene il bvalore "poesia"
memorizzata nela variabile $conf
se io scrivo in php
echo "$conf[Categoria]"; mi visualizza correttamente la parola "poesia"
se io aggiungo un nuovo record e aggiungo quindi pittura nel capo Categoria adesso io ho due record nel campo Categoria
se io scrivo "$conf[Categoria]"; mi visualizza solo la parola poesia
ho provato con la funzione split
$array=split($conf[Categoria],",");
echo " $array"
mi visualizza ne poesia ne pittura ma la parola "array"
come posso fare per far visualizzare sia "poesia" e "pittura"??
spero di aver una risposta rapida e vi ringrazio per il vostro aiuto
-
Ti conviene utilizzare la funzione explode in questo caso visto che non utilizzi le espressioni regolari.
Quindi al posto di:
Codice PHP:
$array=split($conf[Categoria],",");
Metti:
Codice PHP:
$array=explode(",",$conf['Categoria']);
Inoltre non puoi stampare un array direttamente, ma devi stampare un elemento per volta. Quindi al posto di
Codice PHP:
echo " $array";
Scrivi:
Codice PHP:
echo $array[0].$array[1];
Se non sai di quanti elementi è formato l'array puoi scorrerlo con un ciclo for:
Codice PHP:
for($i=0;$i<count($array);$i++)
echo $array[$i];
-
grazie mille ho provato ma mi visualizza solo la parola "poesia" e nn "poesia","pittura"
ecco il codice intero
$torneo= "SELECT * from TORNEO where Tipo= 'Pagamento' and Informazioni= 'In corso'";
$risultato= mysql_query($torneo);
if ($conf = mysql_fetch_array($risultato)){
echo " <p><font color=#FF6633 size=5>Questi sono i tornei a pagamento attualmente in corso:</font>";
$array=explode(",",$conf['Categoria']);
for($i=0;$i<count($array);$i++)
{ echo $array[$i];
}
ho controlla nella tabella TORNEO e li risulata esserci sia il record poesia che pittura
i nomi dei campi Categoria e Informazioni sono correti.
non riesco a venirne fuori ke posso fare??
EDIT: ho anke provato a togliere le parentesi graffe del ciclo for ma il risultato è sempre lo stesso
:(
-
Scusa, avrò capito male il tuo problema ma forse non ti serve l'explode !
Prova a fare in questo modo:
Codice PHP:
$torneo= "SELECT * from TORNEO where Tipo= 'Pagamento' and Informazioni= 'In corso'";
$risultato= mysql_query($torneo);
if ($conf = mysql_fetch_array($risultato))
{
echo " <p><font color=#FF6633 size=5>Questi sono i tornei a pagamento attualmente in corso:</font>";
for($i = 0; $i < mysql_num_rows($risultato); $i++)
{
echo $conf['Categoria'];
}
}
-
stavolta mi appare "poesia""poesia" e non "poesia""pittura"
in pratica ripete sempre la parola poesia
mi sa ke riununcio :(
-
Mah, sarò io a non aver capito, ma il problema mi pare semplice da risolvere:
Codice PHP:
$torneo= "SELECT * from TORNEO where Tipo= 'Pagamento' and Informazioni= 'In corso'";
$risultato= mysql_query($torneo);
while($arr=mysql_fetch_assoc($risultato)){
echo $arr['Categoria']."<br>";
}
Ciao!!!!!
-
SI, giusto debug mi ero dimenticato di inserire il comando epr estrarre le righe nel ciclo.
-
Al posto di:
Codice PHP:
if ($conf = mysql_fetch_array($risultato)){
Metti:
Codice PHP:
while ($conf = mysql_fetch_array($risultato)){
Naturalmente dentro a Categoria i valore devono essere separati da una virgola.
P.S.: Non scrivere due messaggi consecutivi, utilizza il tasto Edita.
-