par
shen » 31 mars 2006, 16:30
pourriez vous m'aider, j'ai un soucis et comprends pas pourquoi!!!
alors à partir d'un formulaire je fait une recherche en sélectionnant dans ma liste déroulante, truc tout simple mais ma requete ne passe pas et je ne trouve pas l'erreur, le regard de quelqu'un d'autre sur mon programme pourra peut betre m'aider!!!
l'erreur qui s'affiche :
[Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.
mon code : la page d'acceuil ou il y a déjà l'affichage de données récupéré dans une base access et une liste déroulante qui permet de lancer la recherche.
indexfax.php
<HTML>
<HEAD>
<TITLE>Accueil</TITLE>
<META HTTP-EQUIV='Refresh' CONTENT='60'>
</HEAD>
<BODY BGCOLOR=#CCCCFF>
<table>
<tr><td>
<CENTER>
<FORM ACTION="searchbycorres2.php" METHOD="GET">
<H4>Recherche par code correspondant</H4>
Choisissez un code correspondant :
<?php
require("listCC.php");
print $listCC;
?>
<BR><BR>
<INPUT TYPE="submit" NAME="recherche" VALUE="Lancer la recherche">
</CENTER>
</FORM>
</td>
<td> </td>
<td>
<CENTER>
<H1>TRANSMISSIONS</H1>
<?php
//connexion à la base
require("faxconn.php");
//on récupère les valeurs des variable limit et debut pour la pagination
//variable permettant de savoir le nombre de résultats à afficher sur la page!!!
if (isset($_GET['limit'])) $limit =trim(htmlspecialchars(addslashes($_GET['limit'])));
else $limit=10;
//variable contenant le numéro du résultat à afficher en 1er dans la page!!!
if (isset($_GET['debut'])) $debut = trim(htmlspecialchars(addslashes($_GET['debut'])));
else $debut = 0;
//récupère le tri
if ( isset( $_GET['tri'] ) ) $tri=trim(htmlspecialchars(addslashes($_GET['tri'])));
else $tri="DESC";
//requete sql pour récupérer les données de la table Archive
$sql="SELECT NumTrans,Date_t,Corres,Msg,Type FROM Archive ORDER BY Date_t $tri,Heure $tri";
//$sql="SELECT * FROM Archive";
$sqlcount="SELECT COUNT(NumTrans) FROM Archive";
//Execution des requêtes
$result=$conn->SelectLimit($sql,$limit,$debut);
$resultcount=$conn->Execute($sqlcount);
//Affichage des données de la table Archive
if(!$result) print $conn->ErrorMsg();
else
{
//Affichage du nombre de résultats.
if(!$resultcount) print $conn->ErrorMsg();
else printf("Nous avons ".$resultcount->fields[0]." fax enregistré(s) dans notre base.");
//Affichage des données dans un tableau
$nbchps = 5;
printf("<table border=1>\n");
/*0*/printf("<th>N°</th>\n");
/*1*/printf("<th>Date & Heure<a href=indexfax.php?tri=&debut=$debut&limit=$limit><img src='croiss.bmp' border=0 title='tri croissant'></a>");
printf("<a href=indexfax.php?tri=DESC&debut=$debut&limit=$limit><img src='desc.bmp' border=0 title='tri décroissant'></a></th>\n");
/*2*/printf("<th>Code Correspondant</th>\n");
/*3*/printf("<th>Statut</th>\n");
/*4*/printf("<th>Type transmission</th>\n");
while(!$result->EOF)
{
printf("<tr>\n");
for($i=0;$i<$nbchps;$i++)
{
if($i==1)
{
$sqlDH="SELECT Date_t,Heure FROM Archive WHERE NumTrans=".$result->fields[0];
$resultDH=$conn->Execute($sqlDH);
printf("<td><center> ".$resultDH->fields[0]." à ".$resultDH->fields[1]." </center></td>");
}
else printf("<td><center> " . $result->fields[$i] . "</center></td>\n");
}
$result->MoveNext();
printf("</tr>\n");
}
printf("<br><br><br>\n");
printf("</table>\n");
}
print ("<br>");
$fin = $debut+$limit;
//indexation pour l'affichage des résultat, page par page
//calcul du nombre de pages à afficher
$nbpage = ceil($resultcount->fields[0]/$limit);
if ($debut > 1)
printf ("<a href=indexfax.php?limit=$limit&debut=".($debut-$limit)."> << </a>");
if ($nbpage > 1)
{
for($z = 1; $z <= $nbpage; $z++)
printf ("<a href=indexfax.php?limit=$limit&debut=".(($z-1)*$limit).">". $z." </a>");
}
if ($fin < $resultcount->fields[0])
printf ("<a href=indexfax.php?limit=$limit&debut=".($fin)."> >> </a>");
?>
<br>
</CENTER>
</td>
</table>
</BODY>
</HTML>
cette partie marche très bien tout s'affiche et je comprends vraiment pas car dans ma deuxieme partie je fais la meme chose sauf que je récupère une donnée dans un formulaire pour faire ma requete et sa marche pas :
2ieme partie de mon code:searchbycorres.php
<HTML>
<HEAD>
<TITLE>Recherche par code correspondant</TITLE>
<META HTTP-EQUIV='Refresh' CONTENT='60'>
</HEAD>
<BODY BGCOLOR=#CCCCFF>
<?php
require('faxconn.php');
//on récupère la valeur de la liste déroulante
if(isset($_GET['ListCC'])) $codeC = trim(htmlspecialchars(addslashes($_GET['ListCC'])));
//valeur pour la pagination
if(isset($_GET['limit'])) $limit = trim(htmlspecialchars(addslashes($_GET['limit'])));
else $limit = 10;
if(isset($_GET['debut'])) $debut = trim(htmlspecialchars(addslashes($_GET['debut'])));
else $debut = 0;
//valeur pour déterminer le sens du tri
if(isset($_GET['tri'])) $tri = trim(htmlspecialchars(addslashes($_GET['tri'])));
else $tri = "DESC";
//Requete sql
$sqlcc = "SELECT NumTrans,Date_t,Msg,Type FROM Archive WHERE Corres=".$codeC." ORDER BY Date_t ".$tri.",Heure ".$tri;
$sqltot = "SELECT COUNT(NumTrans) FROM Archive WHERE Corres=".$codeC; // pour la pagination
//Execution des requetes
$resultcc = $conn->SelectLimit($sqlcc,$limit,$debut);
$resulttot = $conn->Execute($sqltot);
if(empty($codeC)) printf("<H5>Veuillez sélectionner un code correspondant dans la liste déroulante pour la recherche!!!</H5>");
else
{
if($resulttot) printf("<H5>Recherche des transmissions du <i>code correspondant</i> ".$codeC."</H5>");
else print $conn->ErrorMsg();
if(!$resultcc) print $conn->ErrorMsg();
else
{
//Affichage des données dans un tableau
$nbchps = 4;
printf("<table border=1>\n");
/*0*/printf("<th>N°</th>\n");
/*1*/printf("<th>Date & Heure<a href=searchbycorres2.php?tri=&debut=$debut&limit=$limit><img src='croiss.bmp' border=0 title='tri croissant'></a>");
printf("<a href=searchbycorres2.php?tri=DESC&debut=$debut&limit=$limit><img src='desc.bmp' border=0 title='tri décroissant'></a></th>\n");
/*2*/printf("<th>Statut</th>\n");
/*3*/printf("<th>Type transmission</th>\n");
while(!$resultcc->EOF)
{
printf("<tr>\n");
for($i=0; $i < $nbchps;$i++)
{
printf("<td><center> " . $resultcc->fields[$i] . "</center></td>\n");
}
$resultcc->MoveNext();
printf("</tr>\n");
}
printf("<br><br><br>\n");
printf("</table>\n");
}
}
print ("<br>");
?>
</BODY>
</HTML>
pourriez vous m'aider, j'ai un soucis et comprends pas pourquoi!!!
alors à partir d'un formulaire je fait une recherche en sélectionnant dans ma liste déroulante, truc tout simple mais ma requete ne passe pas et je ne trouve pas l'erreur, le regard de quelqu'un d'autre sur mon programme pourra peut betre m'aider!!!
l'erreur qui s'affiche :
[quote][Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu.[/quote]
mon code : la page d'acceuil ou il y a déjà l'affichage de données récupéré dans une base access et une liste déroulante qui permet de lancer la recherche.
indexfax.php
[php]
<HTML>
<HEAD>
<TITLE>Accueil</TITLE>
<META HTTP-EQUIV='Refresh' CONTENT='60'>
</HEAD>
<BODY BGCOLOR=#CCCCFF>
<table>
<tr><td>
<CENTER>
<FORM ACTION="searchbycorres2.php" METHOD="GET">
<H4>Recherche par code correspondant</H4>
Choisissez un code correspondant :
<?php
require("listCC.php");
print $listCC;
?>
<BR><BR>
<INPUT TYPE="submit" NAME="recherche" VALUE="Lancer la recherche">
</CENTER>
</FORM>
</td>
<td> </td>
<td>
<CENTER>
<H1>TRANSMISSIONS</H1>
<?php
//connexion à la base
require("faxconn.php");
//on récupère les valeurs des variable limit et debut pour la pagination
//variable permettant de savoir le nombre de résultats à afficher sur la page!!!
if (isset($_GET['limit'])) $limit =trim(htmlspecialchars(addslashes($_GET['limit'])));
else $limit=10;
//variable contenant le numéro du résultat à afficher en 1er dans la page!!!
if (isset($_GET['debut'])) $debut = trim(htmlspecialchars(addslashes($_GET['debut'])));
else $debut = 0;
//récupère le tri
if ( isset( $_GET['tri'] ) ) $tri=trim(htmlspecialchars(addslashes($_GET['tri'])));
else $tri="DESC";
//requete sql pour récupérer les données de la table Archive
$sql="SELECT NumTrans,Date_t,Corres,Msg,Type FROM Archive ORDER BY Date_t $tri,Heure $tri";
//$sql="SELECT * FROM Archive";
$sqlcount="SELECT COUNT(NumTrans) FROM Archive";
//Execution des requêtes
$result=$conn->SelectLimit($sql,$limit,$debut);
$resultcount=$conn->Execute($sqlcount);
//Affichage des données de la table Archive
if(!$result) print $conn->ErrorMsg();
else
{
//Affichage du nombre de résultats.
if(!$resultcount) print $conn->ErrorMsg();
else printf("Nous avons ".$resultcount->fields[0]." fax enregistré(s) dans notre base.");
//Affichage des données dans un tableau
$nbchps = 5;
printf("<table border=1>\n");
/*0*/printf("<th>N°</th>\n");
/*1*/printf("<th>Date & Heure<a href=indexfax.php?tri=&debut=$debut&limit=$limit><img src='croiss.bmp' border=0 title='tri croissant'></a>");
printf("<a href=indexfax.php?tri=DESC&debut=$debut&limit=$limit><img src='desc.bmp' border=0 title='tri décroissant'></a></th>\n");
/*2*/printf("<th>Code Correspondant</th>\n");
/*3*/printf("<th>Statut</th>\n");
/*4*/printf("<th>Type transmission</th>\n");
while(!$result->EOF)
{
printf("<tr>\n");
for($i=0;$i<$nbchps;$i++)
{
if($i==1)
{
$sqlDH="SELECT Date_t,Heure FROM Archive WHERE NumTrans=".$result->fields[0];
$resultDH=$conn->Execute($sqlDH);
printf("<td><center> ".$resultDH->fields[0]." à ".$resultDH->fields[1]." </center></td>");
}
else printf("<td><center> " . $result->fields[$i] . "</center></td>\n");
}
$result->MoveNext();
printf("</tr>\n");
}
printf("<br><br><br>\n");
printf("</table>\n");
}
print ("<br>");
$fin = $debut+$limit;
//indexation pour l'affichage des résultat, page par page
//calcul du nombre de pages à afficher
$nbpage = ceil($resultcount->fields[0]/$limit);
if ($debut > 1)
printf ("<a href=indexfax.php?limit=$limit&debut=".($debut-$limit)."> << </a>");
if ($nbpage > 1)
{
for($z = 1; $z <= $nbpage; $z++)
printf ("<a href=indexfax.php?limit=$limit&debut=".(($z-1)*$limit).">". $z." </a>");
}
if ($fin < $resultcount->fields[0])
printf ("<a href=indexfax.php?limit=$limit&debut=".($fin)."> >> </a>");
?>
<br>
</CENTER>
</td>
</table>
</BODY>
</HTML>
[/php]
cette partie marche très bien tout s'affiche et je comprends vraiment pas car dans ma deuxieme partie je fais la meme chose sauf que je récupère une donnée dans un formulaire pour faire ma requete et sa marche pas :
2ieme partie de mon code:searchbycorres.php
[php]
<HTML>
<HEAD>
<TITLE>Recherche par code correspondant</TITLE>
<META HTTP-EQUIV='Refresh' CONTENT='60'>
</HEAD>
<BODY BGCOLOR=#CCCCFF>
<?php
require('faxconn.php');
//on récupère la valeur de la liste déroulante
if(isset($_GET['ListCC'])) $codeC = trim(htmlspecialchars(addslashes($_GET['ListCC'])));
//valeur pour la pagination
if(isset($_GET['limit'])) $limit = trim(htmlspecialchars(addslashes($_GET['limit'])));
else $limit = 10;
if(isset($_GET['debut'])) $debut = trim(htmlspecialchars(addslashes($_GET['debut'])));
else $debut = 0;
//valeur pour déterminer le sens du tri
if(isset($_GET['tri'])) $tri = trim(htmlspecialchars(addslashes($_GET['tri'])));
else $tri = "DESC";
//Requete sql
$sqlcc = "SELECT NumTrans,Date_t,Msg,Type FROM Archive WHERE Corres=".$codeC." ORDER BY Date_t ".$tri.",Heure ".$tri;
$sqltot = "SELECT COUNT(NumTrans) FROM Archive WHERE Corres=".$codeC; // pour la pagination
//Execution des requetes
$resultcc = $conn->SelectLimit($sqlcc,$limit,$debut);
$resulttot = $conn->Execute($sqltot);
if(empty($codeC)) printf("<H5>Veuillez sélectionner un code correspondant dans la liste déroulante pour la recherche!!!</H5>");
else
{
if($resulttot) printf("<H5>Recherche des transmissions du <i>code correspondant</i> ".$codeC."</H5>");
else print $conn->ErrorMsg();
if(!$resultcc) print $conn->ErrorMsg();
else
{
//Affichage des données dans un tableau
$nbchps = 4;
printf("<table border=1>\n");
/*0*/printf("<th>N°</th>\n");
/*1*/printf("<th>Date & Heure<a href=searchbycorres2.php?tri=&debut=$debut&limit=$limit><img src='croiss.bmp' border=0 title='tri croissant'></a>");
printf("<a href=searchbycorres2.php?tri=DESC&debut=$debut&limit=$limit><img src='desc.bmp' border=0 title='tri décroissant'></a></th>\n");
/*2*/printf("<th>Statut</th>\n");
/*3*/printf("<th>Type transmission</th>\n");
while(!$resultcc->EOF)
{
printf("<tr>\n");
for($i=0; $i < $nbchps;$i++)
{
printf("<td><center> " . $resultcc->fields[$i] . "</center></td>\n");
}
$resultcc->MoveNext();
printf("</tr>\n");
}
printf("<br><br><br>\n");
printf("</table>\n");
}
}
print ("<br>");
?>
</BODY>
</HTML>[/php]