PDA

Visualizza la versione completa : Tabella di inserimento


sarto76
20-11-2003, 12:04
Ciao a tutti ho questo script per generare una tabella con ODBC, non so se questo sia il forum adatto, ho provato in quello PHP ma nessuno conosce il linguaggio ODBC, non so se qualcuno sa aiutarmi... giorni che ci provo ma nessun risultato...

Questo lo script:


$result=odbc_exec($link,$query);
$totale=0;
while (odbc_fetch_row($result)){
$totale++;
}
if ($totale > 0) {
while(odbc_fetch_row($result)){
echo("<table width=90% border=0 cellpadding='2' cellspacing='2'>");
echo("<tr bgcolor=#D0D0D0><td>");
$numCampi=odbc_field_num($result);
for ($i=0;$i<$numCampi;$i++){
$campi = odbc_field_name($result, $i);
echo $result[$campi];
}
echo($campi);
echo("</td></tr>");
echo("</table>");
}
}
else {
echo("La richiesta non ha ritornato alcun risultato");
}

Grazie mille a tutti

:ciauz:

sarto76
20-11-2003, 19:00
:quote:

cristiano_longo
21-11-2003, 11:19
Neanche io, ma posso riassumere i passi che si seguono in questi casi :

1) Controllare che la connessione col db sia correttamente effettuata.

2) Controllare che l'esecuzione della query non dia errori.

Ma di preciso, che problema ti da?

sarto76
21-11-2003, 13:14
il problema che non entra in


while(odbc_fetch_row($result)){ ,



e qundi non crea la tabella. Non so come mai non entra in questo while :dh: :dh: :dh:


:ciauz:

ChReAn
21-11-2003, 14:01
Il primo while e' inutile. Basta fare if (!$result).

Fai l'echo della query, copiala ed eseguila sul db su cui vuoi lavorare e vedi se restituisce qualcosa.

cristiano_longo
21-11-2003, 14:57
Caspiterina, hai ragione! Il primo while svuota il resultset, che quindi nel secondo risulta vuoto.

sarto76
21-11-2003, 15:25
Sono riuscito ad andare un po' avanti finalmente
La parte di intestazione me la esegue il problema arriva quando
inserisce i dati, mi mette in tutti i campi e su tutte le colonne 0.0.
Come faccio a saltare alla riga successiva??
:dh: :dh: :dh:


$result=odbc_exec($link,$query);
$totale=0;
while (odbc_fetch_row($result)){
$totale++;
}
$firstline=true;

if ($totale > 0)
{

echo("<table width=90% border=0 cellpadding='2' cellspacing='2'>");

//for($i=1;$i<$totale;$i++)
// {
if ($firstline)
{
$numCampi=odbc_num_fields($result);
//echo($numCampi);
echo("<tr bgcolor=\"#D0D0D0\">"); #intestazione della tabella
for ($i=1;$i<$numCampi;$i++)
{

$campo = odbc_field_name($result, $i);
echo "<td>".$campo."</td>";
}
echo("</tr>");
$firstline=false;
}

for($riga=0;$riga<$totale;$riga++) #scrittura dei dati
{
echo("<tr bgcolor=\"#E8E8E8\">");

for ($i=1;$i<$numCampi;$i++)
{
$campi = odbc_field_name($result, $i);
//echo($campi);
echo "<td>".odbc_result($result,$campo)."</td>";
}
echo("</tr>");
}
echo("</table>");
}
else
{
echo("La richiesta non ha ritornato alcun risultato");
}


:ciauz:

Loading