Bonjour, dans un message précédent on m'a gentiment indiqué comment afficher le résultat d'une requête php dans la même page
Super. Mais voila je suis un peu tordu et je me pose une question
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php if(isset($_POST['t'])) $sql = "SELECT intitule FROM table WHERE champ LIKE '%".mysql_real_escape_string($_POST['t'])."%'"; $res = mysql_query($sql); while($row = mysql_fetch_assoc()) { echo $row['intitule'].'<br/>'; } ?>
Soit une page avec plusieurs formulaires A ce jour chaque formulaire appel une nouvelle page php via la méthode ACTION.
j'ai donc 3 champs dans 3 formulaires
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?php /* Date de création: 02/01/2007 */ ?> <html> <head> <LINK rel="stylesheet" type="text/css" href="style/style.css"> </head> <body class="fond"> <h1 class="centrecoul"> TESTS DE LIAISON AVEC UNE BASE <br> DE DONNEES MYSQL<br> </h1> <br><br> <?php echo "<h1 class=\"pascenter\">" ; echo "Texte mis en forme avec une CSS"; echo "</h1>"; echo '<form class="sty1" action="reqdb.php" method="post"> <p>Valeur : <input type="text" name="element" size="40"> <p><input type="submit" value="Ajout d\'un élément"></p> </form>'; echo '<hr>'; echo'<br><form action="voirdb.php"> <p><input type="submit" value="Voir la table"></p> </form>'; include('voirdb.php.php'); echo '<hr>'; echo '<br> <form action="vidertable.php"> <p><input type="submit" value="Vider la table"></p> </form> '; ?> </body> </html>
Prenons l'exemple du formulaires "voirdb.php". Je voudrais mettre à la place l'Action : action="<?php echo $_SERVER['PHP_SELF']; ?> et copier le code se trouvant dans le fichier voirdb.php dans cette même page.
Comme vous pouvez le voir j'ai deux : include('Include/Fsql.php');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php include('Include/Fsql.php'); include('Include/param.php'); // Connexion et sélection de la base if($idcon=consql($MYSERVER, $MYUSER, $MYPWD,$MYBASE)) { $requete="SELECT * FROM `FAMILLE` ORDER BY 1"; // Executer des requetes SQL => ici un SELECT if ($result=exsql($requete)) { // Afficher des résultats en HTML affhtml($result); } // Fermeture de la connexion mysql_close($idcon); } ?>
include('Include/param.php'); (c'est fichier contiennent des fonctions comme affhtml()... pour le premier et les paramètres de connections à la base pour le second)
Fsql.php est une sorte de bibliotheque de fonction. :
Voilà donc mon problème : Comme appeler dans la méthode action action="<?php echo $_SERVER['PHP_SELF']; ?> le bon code : c'est à dire dans notre cas => Voirdb qui lui fais appelle aux fonctions de la bibliotheque sans oublier que notre page contiendra au final plusieurs formulaires appelant chacun sont codes et ses fonctions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php // Connexion et sélection de la base function consql($host,$user,$pwd,$base){ echo "<h1 class=\"centrecoul\">"; echo "Essai de Connection à la base"."</p>"; $link = mysql_connect($host, $user, $pwd) or die("Impossible de se connecter"); echo "Connexion réussie"."</p>"; mysql_select_db($base) or die("Impossible de selectionner la base $base"); echo "</h1>" ; return $link; } //**************************************************************************** // Executer des requetes SQL function exsql($query){ echo "<h1 class=\"pascenter\">"; echo "Execution de la requete $query"."</p>"; $result = mysql_query($query) or die("La requête a échoué"); echo "</h1>" ; return $result; } //**************************************************************************** // Afficher des résultats en HTML function affhtml($result){ echo "<h1 class=\"pascenter\">"; echo "Affichage du resultat"."</p>"; echo "<table width=250 height=50 border='1' cellpadding='1' cellspacing='1'>\n"; while ($line = mysql_fetch_assoc($result)) { echo "\t<tr>\n"; foreach ($line as $col_value) { echo "\t\t<td width=500>$col_value</td>\n"; } echo "\t</tr>\n"; } echo "</table>\n"; echo "</h1>" ; } ?>
Voilà j'espère avoir été clair !
Ps je ne souhaite pas spécialement le code mais plutôt la méthode qui me permettrait de faire cela car mon objectif est de le faire moi même (mais avec votre aide quand je coince )
Merci pour vos idées
Cordialement
Sylvain
Partager