par
arsouille » 03 nov. 2005, 23:40
Bonjour,
je m'essaie au php pour créer un site web dynamique sur la généalogie.
je rencontre un soucis avec les cases à cocher.
Dans le code ci-dessous, j'effectue une requéte dans une base local, j'affiche quelques informations, ainsi qu'une case à cocher.
L'idée, afficher encore plus d'informations en provenance de la base pour les lignes cochées.
Exemple : vous effectuez une recherche sur votre nom de famille. J'affiche en retour 5 réponses. Vous souhaitez avoir plus d'infos sur deux lignes.
Le code ci-dessous fonctionne corectement.
J'ai créer dans le premier "if" une colonne test qui me retourne bien le numéro de la ligne dans ma base via la variable $num.
Par contre, je ne sais pas allez plus loin pour appeler les nouvelles informations.
Dois-je effectuer à nouveau la requete. Mais comment dire uniquement sur les lignes cocher.
J'ai lu à différent endroits que le foreach serrait la bonne commande, mais je ne sais pas par quel bout le prendre
Si quelqu'un veut bien m'aider, merci
<form NAME=\"mode_gratuit\" METHOD="post" ACTION="index_recherche_mode_intermediaire.php">
<table ALIGN="center" BORDER="1" cellpadding=5 border bordercolor="green">
<?php
// 3 Conditions if pour le choix des cases "naissance / mariage / deces" dans centre_recherche/php
if ($choix_table == naissance) {
// Connexion à la base archives44 en faisant appel au fichier connexion_base
require 'connexion_base.php';
// Recherche des noms dans la table naissance44
$resultat_naissance = mysql_query("SELECT * from naissance44 where nom='$recherche_nom'");
// Fermeture de la connexion à la base portail_internet
mysql_close();
// première ligne en-tête du tableau
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Prénom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Autres Prénoms</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Année</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Plus d' infos</u></b></td>';
echo '</tr>'."\n";
//Récupération et affichage des résultats de la table des Naissance .
while($affichage = mysql_fetch_row($resultat_naissance)){
$num = ucfirst($affichage[0]);
$nom = ucfirst($affichage[6]); // le chiffre 9 correspond au numéro de la colonne dans la table etat_civil, attention, le premier n° est le 0
$prenom1 = ucfirst($affichage[7]);
$prenom2 = ucwords($affichage[8]);
$date_naissance = ucwords($affichage[10]);
// transition date us => fr
$annee = substr($date_naissance,0,4);
$mois = substr($date_naissance,5,2);
$jour = substr($date_naissance,8,2);
$date = "$jour-$mois-$annee";
//ucfirst force la première lettre en majuscule, ucwords force la premiere lettre en majuscule de chaque mot de la chaine
echo "<tr>
<td><font color=\"blue\">$nom</font></td>
<td><font color=\"blue\">$prenom1</font></td>
<td><font color=\"blue\">$prenom2</font></td>
<td><font color=\"blue\">$date</font></td>
<td align=\"center\"><input type=\"checkbox\" name=\"case\" value=\"$num\"></td>
<td><font color=\"blue\">$num</font></td>
</tr>";
echo "<br>"; // permet d'effectuer un retour chariot entre les lignes du résultat
}}
elseif ($choix_table == mariage) {
// Connexion à la base archives44 en faisant appel au fichier connexion_base
require 'connexion_base.php';
// Recherche des noms dans la table naissance44
$resultat_mariage = mysql_query("SELECT * from mariage44 where nom='$recherche_nom'");
// Fermeture de la connexion à la base portail_internet
mysql_close();
// première ligne en-tête du tableau
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Prénom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Autres Prénoms</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Année</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Plus d' infos</u></b></td>';
echo '</tr>'."\n";
//Récupération et affichage des résultats de la table des Naissance .
while($affichage = mysql_fetch_row($resultat_mariage)){
$nom = ucfirst($affichage[1]); // le chiffre 9 correspond au numéro de la colonne dans la table etat_civil, attention, le premier n° est le 0
$prenom1 = ucfirst($affichage[2]);
$prenom2 = ucwords($affichage[8]);
$date_naissance = ucwords($affichage[10]);
// transition date us => fr
$annee = substr($date_naissance,0,4);
$mois = substr($date_naissance,5,2);
$jour = substr($date_naissance,8,2);
$date = "$jour-$mois-$annee";
//ucfirst force la première lettre en majuscule, ucwords force la premiere lettre en majuscule de chaque mot de la chaine
echo "<tr>
<td><font color=\"blue\">$nom</font></td>
<td><font color=\"blue\">$prenom1</font></td>
<td><font color=\"blue\"></font></td>
<td><font color=\"blue\"></font></td>
<td align=\"center\"><input type=\"checkbox\" name=\"case\"></td>
</tr>";
echo "<br>"; // permet d'effectuer un retour chariot entre les lignes du résultat
}}
elseif ($choix_table == deces) {
// Connexion à la base archives44 en faisant appel au fichier connexion_base
require 'connexion_base.php';
// Recherche des noms dans la table naissance44
$resultat_deces = mysql_query("SELECT * from deces44 where nom='$recherche_nom'");
// Fermeture de la connexion à la base portail_internet
mysql_close();
// première ligne en-tête du tableau
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Prénom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Autres Prénoms</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Année</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Plus d' infos</u></b></td>';
echo '</tr>'."\n";
//Récupération et affichage des résultats de la table des Naissance .
while($affichage = mysql_fetch_row($resultat_deces)){
$nom = ucfirst($affichage[6]); // le chiffre 9 correspond au numéro de la colonne dans la table etat_civil, attention, le premier n° est le 0
$prenom1 = ucfirst($affichage[7]);
$prenom2 = ucwords($affichage[8]);
$date_naissance = ucwords($affichage[10]);
// transition date us => fr
$annee = substr($date_naissance,0,4);
$mois = substr($date_naissance,5,2);
$jour = substr($date_naissance,8,2);
$date = "$jour-$mois-$annee";
//ucfirst force la première lettre en majuscule, ucwords force la premiere lettre en majuscule de chaque mot de la chaine
echo "<tr>
<td><font color=\"blue\">$nom</font></td>
<td><font color=\"blue\">$prenom1</font></td>
<td><font color=\"blue\">$prenom2</font></td>
<td><font color=\"blue\">$date</font></td>
<td align=\"center\"><input type=\"checkbox\" name=\"case\"></td>
</tr>";
echo "<br>"; // permet d'effectuer un retour chariot entre les lignes du résultat
}}
?>
</table>
<br><br>
<P align="center"><input TYPE="submit" VALUE="Plus d' infos">
</form>
Bonjour,
je m'essaie au php pour créer un site web dynamique sur la généalogie.
je rencontre un soucis avec les cases à cocher.
Dans le code ci-dessous, j'effectue une requéte dans une base local, j'affiche quelques informations, ainsi qu'une case à cocher.
L'idée, afficher encore plus d'informations en provenance de la base pour les lignes cochées.
Exemple : vous effectuez une recherche sur votre nom de famille. J'affiche en retour 5 réponses. Vous souhaitez avoir plus d'infos sur deux lignes.
Le code ci-dessous fonctionne corectement.
J'ai créer dans le premier "if" une colonne test qui me retourne bien le numéro de la ligne dans ma base via la variable $num.
Par contre, je ne sais pas allez plus loin pour appeler les nouvelles informations.
Dois-je effectuer à nouveau la requete. Mais comment dire uniquement sur les lignes cocher.
J'ai lu à différent endroits que le foreach serrait la bonne commande, mais je ne sais pas par quel bout le prendre
Si quelqu'un veut bien m'aider, merci
<form NAME=\"mode_gratuit\" METHOD="post" ACTION="index_recherche_mode_intermediaire.php">
<table ALIGN="center" BORDER="1" cellpadding=5 border bordercolor="green">
<?php
// 3 Conditions if pour le choix des cases "naissance / mariage / deces" dans centre_recherche/php
if ($choix_table == naissance) {
// Connexion à la base archives44 en faisant appel au fichier connexion_base
require 'connexion_base.php';
// Recherche des noms dans la table naissance44
$resultat_naissance = mysql_query("SELECT * from naissance44 where nom='$recherche_nom'");
// Fermeture de la connexion à la base portail_internet
mysql_close();
// première ligne en-tête du tableau
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Prénom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Autres Prénoms</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Année</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Plus d' infos</u></b></td>';
echo '</tr>'."\n";
//Récupération et affichage des résultats de la table des Naissance .
while($affichage = mysql_fetch_row($resultat_naissance)){
$num = ucfirst($affichage[0]);
$nom = ucfirst($affichage[6]); // le chiffre 9 correspond au numéro de la colonne dans la table etat_civil, attention, le premier n° est le 0
$prenom1 = ucfirst($affichage[7]);
$prenom2 = ucwords($affichage[8]);
$date_naissance = ucwords($affichage[10]);
// transition date us => fr
$annee = substr($date_naissance,0,4);
$mois = substr($date_naissance,5,2);
$jour = substr($date_naissance,8,2);
$date = "$jour-$mois-$annee";
//ucfirst force la première lettre en majuscule, ucwords force la premiere lettre en majuscule de chaque mot de la chaine
echo "<tr>
<td><font color=\"blue\">$nom</font></td>
<td><font color=\"blue\">$prenom1</font></td>
<td><font color=\"blue\">$prenom2</font></td>
<td><font color=\"blue\">$date</font></td>
<td align=\"center\"><input type=\"checkbox\" name=\"case\" value=\"$num\"></td>
<td><font color=\"blue\">$num</font></td>
</tr>";
echo "<br>"; // permet d'effectuer un retour chariot entre les lignes du résultat
}}
elseif ($choix_table == mariage) {
// Connexion à la base archives44 en faisant appel au fichier connexion_base
require 'connexion_base.php';
// Recherche des noms dans la table naissance44
$resultat_mariage = mysql_query("SELECT * from mariage44 where nom='$recherche_nom'");
// Fermeture de la connexion à la base portail_internet
mysql_close();
// première ligne en-tête du tableau
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Prénom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Autres Prénoms</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Année</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Plus d' infos</u></b></td>';
echo '</tr>'."\n";
//Récupération et affichage des résultats de la table des Naissance .
while($affichage = mysql_fetch_row($resultat_mariage)){
$nom = ucfirst($affichage[1]); // le chiffre 9 correspond au numéro de la colonne dans la table etat_civil, attention, le premier n° est le 0
$prenom1 = ucfirst($affichage[2]);
$prenom2 = ucwords($affichage[8]);
$date_naissance = ucwords($affichage[10]);
// transition date us => fr
$annee = substr($date_naissance,0,4);
$mois = substr($date_naissance,5,2);
$jour = substr($date_naissance,8,2);
$date = "$jour-$mois-$annee";
//ucfirst force la première lettre en majuscule, ucwords force la premiere lettre en majuscule de chaque mot de la chaine
echo "<tr>
<td><font color=\"blue\">$nom</font></td>
<td><font color=\"blue\">$prenom1</font></td>
<td><font color=\"blue\"></font></td>
<td><font color=\"blue\"></font></td>
<td align=\"center\"><input type=\"checkbox\" name=\"case\"></td>
</tr>";
echo "<br>"; // permet d'effectuer un retour chariot entre les lignes du résultat
}}
elseif ($choix_table == deces) {
// Connexion à la base archives44 en faisant appel au fichier connexion_base
require 'connexion_base.php';
// Recherche des noms dans la table naissance44
$resultat_deces = mysql_query("SELECT * from deces44 where nom='$recherche_nom'");
// Fermeture de la connexion à la base portail_internet
mysql_close();
// première ligne en-tête du tableau
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b><u>Nom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Prénom</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Autres Prénoms</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Année</u></b></td>';
echo '<td bgcolor="#669999" align="center"><b><u>Plus d' infos</u></b></td>';
echo '</tr>'."\n";
//Récupération et affichage des résultats de la table des Naissance .
while($affichage = mysql_fetch_row($resultat_deces)){
$nom = ucfirst($affichage[6]); // le chiffre 9 correspond au numéro de la colonne dans la table etat_civil, attention, le premier n° est le 0
$prenom1 = ucfirst($affichage[7]);
$prenom2 = ucwords($affichage[8]);
$date_naissance = ucwords($affichage[10]);
// transition date us => fr
$annee = substr($date_naissance,0,4);
$mois = substr($date_naissance,5,2);
$jour = substr($date_naissance,8,2);
$date = "$jour-$mois-$annee";
//ucfirst force la première lettre en majuscule, ucwords force la premiere lettre en majuscule de chaque mot de la chaine
echo "<tr>
<td><font color=\"blue\">$nom</font></td>
<td><font color=\"blue\">$prenom1</font></td>
<td><font color=\"blue\">$prenom2</font></td>
<td><font color=\"blue\">$date</font></td>
<td align=\"center\"><input type=\"checkbox\" name=\"case\"></td>
</tr>";
echo "<br>"; // permet d'effectuer un retour chariot entre les lignes du résultat
}}
?>
</table>
<br><br>
<P align="center"><input TYPE="submit" VALUE="Plus d' infos">
</form>