- Home
- Categorie
- Coding e Sistemistica
- PHP
- ciclo for
-
Ciao e grazie per il codice
ma ho già detto all'inizio che il ciclo while non era un
problema
visto che sto cercando di imparare php, e mi sono imposto
di impararlo bene, non conle semplici copiestavo dicendo io il ciclo while già lo fatto, e cioò vorrei
farlo col forciao e grazie
-
[php]<?php
//richiamo il file di configurazione
require 'Config.php';
//richiamo il file di connessione
require 'Connect.php';//creo la SELECT
$query="SELECT * FROM categorie";
//eseguo la query
$risultato=mysql_query($query)or die("errore nella query;".mysql_error());// conto i record
$num_ris = msql_num_rows($risultato);//chiudo la connessione
mysql_close();for($x=0;$x<$num_ris;$x++){
print"<tr>";
print"<td><p class='b01'>
<img src='images/e02.gif' width='6' height='5' border='0' align='absmiddle'> <a href=''>".mysql_result($risultato,$x,'nome_tuo_campo')."</a></p>
<div align='center'><img src='images/hr01.gif' width='137' height='3' border='0'></div>
</td>";
print"</tr>";}
?>[/php]
-
ciao ho fatto come hai detto
ma mi dice**Warning**: msql_num_rows(): supplied resource is not a valid mSQL result resource in **c:\programmi\easyphp1-8\www\web_site\index.php** on line **98**
riga 98
$num_ris = msql_num_rows($risultato);
strano che bisogna scrivere tutte quelle cose dove stampo la riga
non xrchè non mi fido eee
però pensavo + una cosa del genere[HTML]
$num_ris[$x]
[/HTML]ciao e grazie
-
// conto i record
$num_ris = msql_num_rows($risultato);errore di sintassi, sarebbe
// conto i record
$num_ris = mysql_num_rows($risultato); (manca la y)$num_ris[$x] tradotto sarebbe numero record[valore x] senza senso mentre
mysql_result($risultato,$x,'nome_tuo_campo')
(risorsa del db $risultato)+( riga $x(0,1,2,3,4,5 ecc)) (piu il nome del campo del db)
-
ciao e grazie
va benissimo
non ci sarei mai arrivato da solo
quel mysql_result non l'avrei mai messocmq grazie tante
ciao da danny
-
[PHP]
<?php
//richiamo il file di configurazione
require 'Config.php';
//richiamo il file di connessione
require 'Connect.php';//creo la SELECT
$query="SELECT * FROM categorie ORDER BY descrizione";
//eseguo la query
$risultato=mysql_query($query);
if(!$risultato)
{
die("errore nella query;".mysql_error());
}
//chiudo la connessione
mysql_close();
?>
<html>
<head>
<title>TEMPLATE BY ALIBI74.IT</title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="generator" content="Namo WebEditor v5.0">
</head>
<body leftmargin=0 topmargin=0 marginheight="0" marginwidth="0" bgcolor="#E6E6E6">
<table border="0" cellpadding="0" cellspacing="0" width="758" align="center">
<tr valign="top">
<td><img src="images/logo.gif" alt="" width="184" height="129" border="0"></td>
<td>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td colspan="2">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img src="images/but01.gif" width="115" height="30" alt="" border="0"></td>
<td><img src="images/but02.gif" alt="" width="114" height="30" border="0"></td>
<td><img src="images/but03.gif" width="112" height="30" alt="" border="0"></td>
<td><img src="images/but04.gif" width="116" height="30" alt="" border="0"></td>
<td><img src="images/but05.gif" width="117" height="30" alt="" border="0"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td background="images/fon_top01.gif" colspan="2" height="37">
<table border="0" cellpadding="0" cellspacing="0" width="100%" background="">
<tr>
<td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0"> Company history</a></p></td>
<td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0"> Executives management</a></p></td>
<td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0"> Contact Info</a></p></td>
<td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0"> Our Partners</a></p></td>
<td><p class="menu01"><a href=""><img src="images/e01.gif" width="8" height="7" alt="" border="0"> Contacts</a></p></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><img src="images/form01.gif" width="341" height="22" alt="" border="0"></td>
<td><img src="images/form02.gif" width="233" height="22" alt="" border="0"></td>
</tr>
<tr>
<form action="" method="post">
<td height="40" background="images/form03.gif" width="341" alt="" border="0" align="center">
<input type="Text" name="" value=" USERNAME" size="10">
<input type="Text" name="" value=" PASSWORD" size="10">
<input type="image" src="images/b_login.gif" width="79" height="20" alt="" border="0" align="absbottom">
</td>
</form>
<td background="images/form04.gif" width="233" height="40">
<table border="0" cellpadding="0" cellspacing="0" width="100%" background="">
<tr align="center">
<td><p style="color: #FFFFFF; font-size: 10px;"><b>TOTAL<br>$11500,00</b></p></td>
<td><a href=""><img src="images/b_vew.gif" width="79" height="20" alt="" border="0"></a></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="758" align="center">
<tr valign="top">
<td width="185" background="images/fon_left03.gif">
<table border="0" cellpadding="0" cellspacing="0" background="images/fon_left01.gif" width="100%">
<tr>
<td align="right">
<table border="0" cellpadding="0" cellspacing="0" width="165" background="images/fon_left02.gif">
<tr>
<td background="images/left01.gif" height="26"><p class="title">NAVIGAZIONE</p></td>
</tr>
<?php
//while($riga=mysql_fetch_array($risultato,MYSQL_ASSOC))
$num_ris = mysql_num_rows($risultato);
for($x=0; $x<$num_ris; $x++)
{
print"
<tr>";
print"
<td><p class='b01'>
<img src='images/e02.gif' width='6' height='5' border='0' align='absmiddle'>
<a href=''>".mysql_result($risultato,$x,'descrizione')."</a></p>
<div align='center'><img src='images/hr01.gif' width='137' height='3' border='0'></div>
</td>";
print"
</tr>";
}
?>
[/PHP]
-
Beh magari scrivi prima:
$variabile = mysql_result($risultato,$x,'descrizione');
E poi nell'a href ci passi $variabile e non tutta la funzione...
Detto questo mi sembra tutto corretto... è il modo migliore per usare il ciclo for...
Resta sempre una cosa... non capisco perchè ti ostini (in cima al codice) a identificare la mancanza di $risultato come errore... semplicemente non c'è un risultato e se non c'è è perchè non ci sono categorie, non per un errore... ergo quello che vuoi tu è
$risultato=mysql_query($query)
or die("errore nella query;".mysql_error());Questo sì che dà errore se c'è un errore nella connessione o nell'esecuzione della query...
-
ciao il fatto che ho un libro che dice come te
e un tutorial che invece fa come ho scritto iopoi le ho provate entrambe , ma non ho notato differenza
tu dici che c'è?
ciao da danny
-
Il punto è che se passi al die() un mysql_error() deve esserci questo errore...
se tu il die() lo passi nel caso in cui !$risultato, l'errore non c'è...
Prova a applicare la query a una tabella vuota, oppure aggiungi alla query un WHERE 1=2, così da ottenere !$risultato e vedrai se ti dà un errore...
Detto questo, a parte un errore strutturale, per eventi come mancanza di risultato devi gestire l'output diversamente..
Ipotizziamo che prepari un altra query su una "ricerca" e la ricerca dà risultato nullo... cosa dici al tuo visitatore? "Errore di mysql: bla bla bla"?
E poi lui cosa pensa? Che la sua ricerca non ha dato risultati o che c'è un errore nel sito?
if(!$risultato) {
echo "Spiacente, non c'è risultato";
exit;
}oppure
if(!$risultato) {
$mess = "Spiacente, non c'è risultato";
header("pagina.php?mess=$mess");
}E nella pagina.php
if($_GET['mess'])
$mess = $_GET['mess'];
else
$mess = "";<div id="messaggivari"><?=$mess?></div>
e poi magari sotto al div ci metti un bel codice che cliccando nasconde il messaggio una volta letto... (un po' come fa google su analytics/adsense/adwords)
<a href="#" onclick="document.getElementById('messaggivari').innerHTML = '';return false"><span style="float:right;font-size:small">nascondi</span></a>
keiske
-
grazie ho capito
adesso si che ho capitociao