Newsgroup: it.comp.www.php
Titolo: WHILE Help

Dove sbaglio?
Grazie per le risposte
<?php
$valore = 5;
$db = mysql_connect("$hostname", "$user","$pass");
mysql_select_db("$database",$db);
$result = mysql_query("SELECT * FROM fatture WHERE valore = $valore");
$num = mysql_num_rows($result);
echo $num;
if ($num != 0)
{
 while ($row = mysql_fetch_array($result))
  {
    $clientdate = $row["date"];
 }
)
mysql_close();
?>

 if ($num != 0)
a cosa ti serve questo if?
se non ci sono records da fetchare, il while semplicemente ha condizione 
falsa.
fai così:
--------
<?php
error_reporting(E_ALL); #da mettere sempre in fase di sviluppo
$valore = 5;
$db = mysql_connect("$hostname", "$user","$pass")
        or die(mysql_error()); #controlliamo che abbia funzionato?
mysql_select_db("$database",$db)
        or die(mysql_error()); #idem
$result = mysql_query("SELECT * FROM fatture WHERE valore = $valore")
        or die(mysql_error()); #idem
while ($row = mysql_fetch_array($result)) {
        $clientdate = $row["date"];
        echo $clientdate."<br>\n";
        #stampiamo o facciamoci qualcosa, altrimenti ti rimane solo l'ultimo
)
mysql_close();
?>
--------
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://groups.google.com

 wrote:
Posso permettermi?
Da quando in qua le variabili si mettono tra virgolette? :-))))
Facciamo così, va:
<?
 error_reporting(E_ALL); 
 $valore = 5;
 
 // Facciamo questa persistent e senza il virgolettume inutile
 $db = mysql_pconnect($hostname, $user, $pass)
 or die(mysql_error());
 
 // Virgolettume inutile
 mysql_select_db($database, $db)
 or die(mysql_error()); 
 
 // valore è una variabile e va fuori da una stringa.
 $result = mysql_query("SELECT * FROM fatture WHERE valore = ".$valore)
 or die(mysql_error()); 
 
 while ($row = mysql_fetch_array($result)) {
  $clientdate = $row["date"];
  echo $clientdate."<br>\n";
 )
 mysql_close();
 ?>
Ovviamente so perfettamente che il php ti permette di fare una cosa del tipo 
echo "la variabile a contiene $a";
ma è concettualmente sbagliato, e come tale è un comportamento da 
deprecarsi... anche perché con gli array, ovviamente, non funziona.
E sopratutto. Se io ho inizializzata la variabile a e la variabile ab chi dice 
al php che quando faccio
echo "la variabile a contiene $ab"; 
voglio che scriva a seguita dalla lettera b piuttosto che ab ? ovviamente lui 
sceglie la seconda opzione, ma dato che non è detto che una persona si ricordi 
tutte le variabili che inizializza in un programma, o magari a posteri 
aggiunge una variabile che per puro caso matcha qualcosa che ha scritto in una 
stringa, facendo smettere di funzionare tutto il programma, direi che è 
semplicemente meglio imparare a concatenare correttamente stringhe e variabili.
No?

 No?
no.
cioè, sì: è bene imparare a concatenare correttamente stringhe e variabili
no: non è meglio; e se si impara bene la sintassi si sa come evitare 
determinate situazioni.
il problema che esponi non esiste, perché:
<?
error_reporting(E_ALL);
$a="ciao";
echo "a contiene $ab";
?>
mi produce
----
<br>
<b>Warning</b>:  Undefined variable:  ab in <b>-</b> on line <b>4</b><br>
a contiene 
----
se voglio $a con b dopo posso usare "${a}b" senza concatenazioni.
o la concatenazione, a seconda dei gusti! ;-)
ciao!
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.php.net

 determinate situazioni.
L'utonto medio non sa e non capisce, copincolla e basta. E dato che quando non 
funziona viene a lamentarsi da me che gli erogo l'hosting sostenendo che "il 
mio php" non funzioni è meglio che si formi come merita.
Finisce che faccio un colpo di mano e imposto la E_ALL di default a tutti i 
siti. :)

 i siti. :)
faresti bene! almeno iniziano a imparare PHP!
;-P
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://marketing.tenagra.com/rfc1855.html

 faresti bene! almeno iniziano a imparare PHP!
Un giorno gliel'ho fatto. Mi hanno chiamato tutti nel giro di mezz'ora.
Gli ho dato un mese per fixare i loro codici.

 Gli ho dato un mese per fixare i loro codici.
e che han fatto?? avran messo chioccioline a manetta!!!
;-)
ciao!
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/gnu/manifesto.it.html

 ha scritto nel messaggio
news:lauv9.90559$RO.23...@twister1.libero.it...


 cambiarlo con pconnect, almeno mettilo in guardia! no?
posto un paio di riferimenti in questo NG sul tema, va!!
"mysql_pconnect e garbage collection" del 28/9/2001
per vedere cosa ne pensano i 'veterani' del NG sull'uso improprio.
"mysql_pconnect: cosa è la P ???" del 1/6/2001
per vedere l'ignoranza di fondo sull'argomento (abbastanza diffusa!)
"Passare la connessione a più pagine...si può??" del 23/7/2002
"Urgente ... TOO MANY CONNECTION la soluzione..." del 11/2/2001
come il secondo...
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/free-sw.it.html

 }
non è che il controllo lo fai dall'elemento 0 al n-1??
$a=0; parti da 0!
while ($row = mysql_fetch_array($result)) {
$clientdate[$a] = $row["date"];
echo $clientdate[$a]."<br>\n"; //gli array fuori da "" oppure complex
                                //syntax!
$a++; //incremento dopo!
}
così dovresti averli tutti.
controlla così:
while(list($key,$value)=each($clientedate)) {
        print $key." => ".$value."<br>\n";
}
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/motivation.it.html

 e che han fatto?? avran messo chioccioline a manetta!!!
Non sanno dell'esistenza della chiocciola.
Gli ho detto anche di cambiare tutti i $var in $_GET["var"] eccetera. Sono 
proprio sadico.

skeyby wrote:
mi permetto di inserirmi visto che si parla di DBMS e prestazioni di un 
sistema operativo in generale (non sono un esperto, ma è l'argomento che 
studio all'università).
Leggo ovunque (e verifico dai benchmark) che mySQL non è certo "un 
capolavoro" di DBMS. A tal proposito mi chiedo perchè non si usi 
posgresql che a detta degli sviluppatori è il miglior DBMS esistente 
(loro lo definiscono "quasi perfetto") e si preferisca invece mySQL (che 
da quanto so non supporta neppure le transazioni), ormai diventato lo 
standard per i database integrati in pagine web
ciao
Alesi_27

Alesi_27
Visto il tuo nick penso che potrai capire, se ti dico che anche Alesi,
per andare a comprare le sigarette giu' in citta', usa la Panda :-)
Leonardo