Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer RefStats : Analysez votre positionnement sur les moteurs de recherche |
||
Bonjour tout le monde, je suis nouveau sur le forum.
Je viens ici pour vous demander de l'aide (lol). En fait je dois faire un projet qui consiste a créer un moteur de recherche sur une base de donnée SQL, j'ai donc un formulaire de champs qui me ramene sur une page .php pour afficher le resultat sous forme d'un tableau. Dans ce tableau j'ai tous mes resultat classés. Jusqu'ici pas de probleme, maintenant je voudrais mettre un lien html href sur chaque ligne mais comme mon tableau a été créer grace a la fonction odbc_fetch_row et que les resultats sont affichés grace a la fonction odbc_result je n'arrive pas a trouvé chaque pour ensuite mettre un lien sur chacune d'entre-elles.
Je vous remercie tout d'abord et j'espere avoir été assez claire :s
Voici un morceau de Code:
# perform the query
$result = odbc_exec($connect, $query);
# fetch the data from the database
echo "<form action=\"recherche.html\">";
echo"<center><input type=\"submit\" value=\"Nouvelle Recherche\"></center>";
echo "</form>";
echo "<table align=\"center\" class=\"dTable\" width=\"78%\" border=\"0\" cellspacing=\"3\"><tr bgcolor=\"#FFFFCC\">";
echo "<th>Numero de la Facture</th>";
echo "<th>Societe Emetrice</th>";
echo "<th>Type de la Facture</th>";
echo "<th>Nom de la Societe</th>";
echo "<th>Numero de la Consultation</th>";
echo "<th>Titre de la Consultation</th>";
echo "<th>Numero Devis</th>";
echo "<th>Montant de l'Accord</th>";
echo "<th>Code Affaire</th>";
echo "<th>Commande</th>";
echo "<th>Matricule</th>";
echo "<th>ETAT</th>";
echo "<th>Date d'Accord</th>";
echo "<th>Date de Facture</th></tr>";
while ($row=odbc_fetch_row($result))
{
$resultat=odbc_result($result,"NUM");
$resultat1=odbc_result($result,"SOCIETE_EMETRICE");
$resultat2=odbc_result($result,"TYPE");
$resultat3=odbc_result($result,"NOM_SOCIETE");
$resultat4=odbc_result($result,"NUM_CONSULTATION");
$resultat5=odbc_result($result,"TITRE_CONSULTATION");
$resultat6=odbc_result($result,"NUM_DEVIS");
$resultat7=odbc_result($result,"MONTANT_ACCORD");
$resultat8=odbc_result($result,"CODE_AFFAIRE");
$resultat9=odbc_result($result,"COMMANDE");
$resultat10=odbc_result($result,"MATRICULE");
$resultat11=odbc_result($result,"ETAT");
$resultat12=odbc_result($result,"DATE_ACCORD");
$resultat13=odbc_result($result,"DATE_FACTURE");
echo "<tr><td>$resultat</td>";
echo "<td bgcolor=\"#F3F3F3\"><A href=$racine>$resultat1</a></td>";
echo "<td>$resultat2</td>";
echo "<td bgcolor=\"#F3F3F3\"><A href=$racine>$resultat3</a></td>";
echo "<td>$resultat4</td>";
echo "<td bgcolor=\"#F3F3F3\"><A href=$racine>$resultat5</a></td>";
echo "<td>$resultat6</td>";
echo "<td bgcolor=\"#F3F3F3\"><A href=$racine>$resultat7</a></td>";
echo "<td>$resultat8</td>";
echo "<td bgcolor=\"#F3F3F3\"><A href=$racine>$resultat9</a></td>";
echo "<td>$resultat10</td>";
echo "<td bgcolor=\"#F3F3F3\"><A href=$racine>$resultat11</a></td>";
echo "<td>$resultat12</td>";
echo "<td bgcolor=\"#F3F3F3\"><A href=$racine>$resultat13</a></td>";
echo "<td><a href=\"#\" onclick=\"delLigne(this); return false;\">Supprimer</a></td></tr>";
}
//echo "<tr>$resultat_id</tr>";
echo "</table>";
# close the connection
odbc_free_result($result);
odbc_close($connect);Hors ligne
Je voulais aussi dire que sur cette partie de mon code j'ai justement tenté de mettre un lien qui est d'ailleur stockée dans une variable $racine mais ce lien n'apparait pas sur chaque ligne mais sur chaque colone.
Hors ligne
Bonjour,
si je comprens bien, la variable $racine ne change pas de valeur au sein de la page? Si c'est le cas, afficher ce lien une seule fois serait suffisant.
Hors ligne
Re,
Non non justement le but c'est bien d'avoir un lien DIFFERENT sur Chacune des lignes. Mais je ne parviens pas à retrouver chaque ligne pour y mettre un lien. L'idée classique de faire une boucle en incrementant l'indice j'ai est pensé mais je ne sais pas du tout comment le faire surtout avec des fonctions odbc d'une base de donnée SQL(odbc_fetch_row,odbc_result...)
Merci de votre aide.
Hors ligne
Il ne semble pas y avoir de problème avec les fonctions ODBC.
Il y a ceci que je ne comprends pas:
> faire une boucle en incrementant l'indice
Pour faire quoi?
> retrouver chaque ligne pour y mettre un lien
Tu les as perdu? ![]()
Hors ligne
Re,
>La boucle c'etait pour scanner toutes les lignes de mon tableau mais apparament cela ne sert a rien LoL.
>Retrouver mes lignes oui puisque je ne retrouve pas les "<tr></tr>".
Peut etre faut-il stocker toutes mes informations récupérées de ma base de donnée dans un tableau $tab[] ?
Hors ligne
Tout ce que je peux faire, c'est te conseiller d'améliorer tes connaissances en PHP (peut-être en HTML aussi) en lisant des tutoriaux sur le net, par exemple...
Hors ligne
salut,
pour mettre un lien par ligne, il suffit de conserver un <a href="$racine" par <tr></tr> et pas un par <td></td>
ensuite, il faut que tu récupère un identifiant pour le passer en paramètre. ca donne quelque chose du style <a href="$racine?id=". odbc_result($result,"NUM")
et ensuite sur ta page racine tu peux accéder à $_GET['id']
Hors ligne
Merci pour votre aide en tous cas ! Je suis vraiment debutant donc j'ai un peu de mal ...
lolo3129, oui c'est ce que je voulais faire au depart c'est a dire mettre un lien href par <tr></tr> mais le probleme dans mon script c'est que je n'ai pas plusieur <tr></tr>, je n'en ai que un seul pourtant mon tableau a bien plusieurs lignes ..
Apres ta solution pour récupérer un identifiant m'interresse beaucoup, j'avais dejà fait des recherches sur google et justement j'etais tombé dessus or je n'ai jamais utilisé cet identifiant id et je pense que cela m'aiderait fortement.
Et si tu pouvais m'expliquer un peu plus comment on procède avec les variables $_GET['id'], <a href="$racine?id=". odbc_result($result,"NUM") ?
Hors ligne
J'ai une question aussi à te poser:
Cet identifiant id dont tu me parle que l'on récupere grace à la variable $_GET['id'] je le récupere où sa ? Dois-je le creé l'id ?
Dernière modification par johannis (18-06-2009 05:32:22)
Hors ligne
Plus personne pour m'aider
Une autre solution serait de récupérer le contenu de chacune de mes cellules dans mon tableau mais je ne sais pas faire.
Par exemple dans mon script lorsque je met:
$resultat=odbc_result($result,"NUM");
et quand j'affiche le résultat avec :
echo "<tr><td>$resultat</td>";
En fait ça va m'afficher comme résultats les contenus du champs "NUM" de ma table "RAP_SUIVI" qui correspondent à ma requete mais sont listés dans une colonne:
if ($Num_Facture!="")
{
$query = $query." AND RAP_SUIVI.NUM Like '%".$Num_Facture."%'";
}
C'est ça le soucis seulment à cause de l'affichage : echo "<tr><td>$resultat</td>" sa me donne tous directement dans une colonne donc si je veux récupérer un seul de ces résultats je ne peux pas
. Par exemple si je veux y mettre un lien sur un seul de ces résultats jpeux pas et c'est pour ça que dans mon script quand je met le lien sur <a href="Mon_Lien1">$resultat</a> c'est comme ci je
mettais un lien "Mon_Lien1" sur toute la colonne "NUM".
J'attend patiement vos solutions ![]()
Hors ligne
le while te permet de créer une ligne <tr> par ligne remontée par la requête SQL donc si tu as plusieurs <tr>, c'est que tu as plusieurs ligne dans ta base.
il faut garder la formule avec le racine?id=... et dans le code php de ta pag "racine", tu peux accéder à $_GET['id'] qui vaudra ce qui est dans la barre d'adresse.
Hors ligne