View Full Version : PHP: dove sbaglio?
Allora, il foreach non funziona, probabilmente l'array rimane vuoto, infatti con il secondo for non mi stampa niente.
Dove sbaglio?
<?php
global $numero;
$numero = 2;
$ris = array($num);
multipli($numero);
function multipli($num) {
for ($i = 1; $i == 10; $i++) {
$temp = $num * $i;
$ris[] = $temp;
}
return;
}
for ($i = 1; $i == 10; $i++){
echo ("$ris[i]");
}
/*foreach ($ris as $v) {
echo ("Multipli di /$num: $v"); */
?>
Sbagli in due punti.
$ris = array($num);
Questo non crea un array di due elementi. La funzione array crea un array da una lista di argomenti quindi in questo caso ris ha un solo elemento che contiene il valore di $num.
$ris[] = $temp;
Non puoi accedere da una funzione alle variabili che stanno al suo esterno. Sono due scope completamente diversi. Per "importare" la variabile dall'estreno devi usare global $variabile
ciao ;)
Non ci sono :cry:
Allora:
$numero = 2;
multipli($numero);
function multipli($num) {
global $ris;
for ($i = 1; $i == 10; $i++) {
$temp = $num * $i;
$ris[] = $temp;
}
return;
}
foreach ($ris as $v) {
echo ("Multipli di /$num: $v");
}
Non mi crea l'array :muro:
In teoria dovrebbe creare un array di questo tipo:
$ris[] = 2;
$ris[] = 4;
ecc.
$ris l'ho dichiara come globale.
global importa una variabile gia esistente. In questo caso $ris non è stata dichiarata prima della chiamata a funzione quindi non funziona. prova a mettere questo prima di multipli($numero)
$ris = array (null);
perchè non usi array_push per aggiungere un elemento all'array ? quello che stai usando è un metodo piu sbrigativo ma è anche piu criptico.
Nel for hai messo $i == 10. Sei sicuro di volerlo veramente ? Forse intendevi $i <= 10.
Nella echo in fondo hai usato $num ma quella è una variabile della funzione. $non dovrebbe essere $numero.
ciao ;)
Originariamente inviato da VICIUS
global importa una variabile gia esistente. In questo caso $ris non è stata dichiarata prima della chiamata a funzione quindi non funziona. prova a mettere questo prima di multipli($numero)
$ris = array (null);
perchè non usi array_push per aggiungere un elemento all'array ? quello che stai usando è un metodo piu sbrigativo ma è anche piu criptico.
Nel for hai messo $i == 10. Sei sicuro di volerlo veramente ? Forse intendevi $i <= 10.
Nella echo in fondo hai usato $num ma quella è una variabile della funzione. $non dovrebbe essere $numero.
ciao ;)
Sto iniziando adesso con il php :oink:
L'errore era questo $i == 10 :muro: il ciclo for non veniva mai eseguito.
Grazie per l'array_push :)
Fenomeno85
22-07-2004, 08:13
Originariamente inviato da ZackS
Sto iniziando adesso con il php :oink:
Grazie per l'array_push :)
forse ti conviene vedere come funzionano prima i cicli ;) ... sono identici anche nel c ;)
cmq hai mai studiato qualche linguaggio di programmazione?
~§~ Sempre E Solo Lei ~§~
Originariamente inviato da Fenomeno85
forse ti conviene vedere come funzionano prima i cicli ;) ... sono identici anche nel c ;)
cmq hai mai studiato qualche linguaggio di programmazione?
~§~ Sempre E Solo Lei ~§~
Nessuno :(
Ho visto un po di javascript ma nulla di serio.
Fenomeno85
22-07-2004, 08:36
Originariamente inviato da VICIUS
global importa una variabile gia esistente. In questo caso $ris non è stata dichiarata prima della chiamata a funzione quindi non funziona. prova a mettere questo prima di multipli($numero)
$ris = array (null);
perchè non usi array_push per aggiungere un elemento all'array ? quello che stai usando è un metodo piu sbrigativo ma è anche piu criptico.
ciao ;)
non dovrebbero esserci problemi se non si dichiara la variabile dell'array ;) ... e poi non capisco qual'è il problema se si aggiunge così $var [] = $c;
~§~ Sempre E Solo Lei ~§~
Fenomeno85
22-07-2004, 08:39
Originariamente inviato da ZackS
Nessuno :(
Ho visto un po di javascript ma nulla di serio.
se tio posso dare un consiglio cerca qualche guida sul c. Secondo me imparato il c non si ha nessun problema a capire il php ;).
Imho ovviamente.
Forse il c è una palla, questo non lo metto in dubbio ma ti fa capire molte cose :)
~§~ Sempre E Solo Lei ~§~
Originariamente inviato da Fenomeno85
non dovrebbero esserci problemi se non si dichiara la variabile dell'array ;) ... e poi non capisco qual'è il problema se si aggiunge così $var [] = $c;
~§~ Sempre E Solo Lei ~§~
Certo funziona anche non dichiarando la variabile e seza usare array_push. Piu che altro è una questione di leggibilità. Per una persona che non ha mai visto quel codice capire che la variabile ris è in realtà un array e che proviene da una funzione che è stata chiamata da prima diventa difficile.
ciao ;)
Mi dite perchè i dati del form non vengono passati al file save.php? :muro:
anche se ho settato le register_globals su on, non passa le variabili.
Devo usare l' array $_POST :muro:
Fra poco cancello php e mysql :muro:
<?php
include("top_foot.inc.php");
include("config.inc.php");
top();
//connessione al db
$conn = mysql_connect($indirizzo, $nome, $pass);
if ($conn == FALSE) {
die("<b>Errore nella connessione a Mysql: " . mysql_error() . "</b><br>");
}
mysql_select_db($data, $conn) or die("<b>Errore nella connessione al database: " . mysql_error() . "</b><br>");
//
//Selezione dei dati
$query = "SELECT id, titolo, data FROM news ORDER BY data DESC LIMIT 0.5";
//Stampa
$result = mysql_query($query, $conn);
while ($row = mysql_fetch_array($result)) {
echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[date]) . " - $row[titolo]</a><br>";
}
mysql_close($conn);
foot();
?>
Perchè non mi stampa niente? In pratica sto rifacendo gli esempi :muro:
Originariamente inviato da ZackS
Fra poco cancello php e mysql :muro:
...
while ($row = mysql_fetch_array($result)) {
echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[date]) . " - $row[titolo]</a><br>";
}
..
Prova così
while (list($id,$titolo,$date) = mysql_fetch_row($result)) {
echo "<a href=\"view.php?id=$id\">" . date("j/n/y", $date) . " - $titolo</a><br>";
}
oppure
while ($row = mysql_fetch_assoch($result)) {
echo "<a href=\"view.php?id=$row['id']\">" . date("j/n/y", $row['date']) . " - $row['titolo']</a><br>";
}
a quest'ora non connetto molto..... chissa' se ho scritto bene?
Mitzuashi
30-07-2004, 08:11
Ciao,
come ti ha già scritto gamon02, i valori della query devi richiamarli $row["id"] e non $row[id].
Ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.