> Tous les forumsForum des Webmasters

 requete et dreamweaver
Statut du sujet : NON RESOLU Imprimer
 padymen
  Posté le 27/07/2006 @ 11:17  
 Astucien


1549 Messages
bonjour je suis very debutant sur le mysql et le reste... bon, je cree une base de donnée via easy php, la c est ok je cree une requete dsans dreamweaver pour qu il me trie cette base de donnée, mais le probleme est le suivant, lorsque je lance (via IE) cette requete que je cree, il m affiche directement le resultat de la requete, moi ce que je voudrais, c est que je puisse remplire les champs que j ai prevu a cet effet puis en cliquant sur le bouton recherche, qu il execute cette requete en fonction de ce que j aurais indique dans le champ j espere avoir ete clair voici ce que j ai entre dans dreamweaver : <?php require_once('Connections/agenceimmo.php'); ?> <!--*****************************************************************************--> <!--*****************************test********************************************--> <!--*****************************************************************************-- <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); Switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $colname_Recordset1 = "-1"; if (isset($_GET[''])) { $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET[''] : addslashes($_GET['']); } mysql_select_db($database_agenceimmo, $agenceimmo); $query_Recordset1 = sprintf("SELECT * FROM agenceimmo WHERE localite = 'lille' ", GetSQLValueString($colname_Recordset1, "text")); $Recordset1 = mysql_query($query_Recordset1, $agenceimmo) or die(mysql_error()); $row_Recordset1 = mysql_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysql_num_rows($Recordset1); ?> <!--********************************************************************************--> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>recherche localite</title> </head> <body> <label>rechercher localite <input type="text" name="textfield" /> </label> <label>localite <input type="submit" name="Submit" value="Envoyer" /> </label> </br> </br> <table border="1"> <tr> <td>numref</td> <td>prix</td> <td>localite</td> <td>vendu</td> <td>descriptif</td> <td>image</td> </tr> <!--***************************************************************************--> <?php do { ?> <tr> <td><?php echo $row_Recordset1['numref']; ?></td> <td><?php echo $row_Recordset1['prix']; ?></td> <td><?php echo $row_Recordset1['localite']; ?></td> <td><?php echo $row_Recordset1['vendu']; ?></td> <td><?php echo $row_Recordset1['descriptif']; ?></td> <td><?php echo $row_Recordset1['image']; ?></td> </tr> <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?> </table> </body> </body> </html> <?php mysql_free_result($Recordset1); ?>
 Afficher le profil de padymen Envoyer un message privé à padymen
 
 
Publicité
 fouinguette  Posté le 28/07/2006 à 10:20  
Petit astucien

25 Messages
Bonjour, tu devrais séparer ta page php de ta page html: tu garde ta page html normal sauf qu'avant tes input, tu ajoute <form action="tapagephp.php"> tes input </forum> Ce qui voudra dire que l'internaute remlira le formulaire et qu'ensuite, en validant , la page tapagephp.php sera appelée et traitera la requete.
Afficher le profil de fouinguetteEnvoyer un message privé à fouinguette
 Revenir en haut de la page
 padymen  Posté le 29/07/2006 à 09:52  
Astucien


1549 Messages
bonjour fouinguette et merci de ta reponse, donc, si je comprend bien (la, j'en suis pas sur !), la page (ou je donne ce qui est tapé) reste en .html et j'en recree une autre en .php tu me dis de rajouter : <form action="tapagephp.php"> avant mes imput, je ne sais meme pas ce que c est des imput (oui je sais, je devrais chercher sur le net, mais y a une semaine deja que je parcours le net pour ce truc !!) moi tout ce que je voudrais, c'est peut etre un exemple tout simple de : un champ à remplir avec à ses cotes un bouton qui lorsque l'on clique dessus execute un SELECT * FROM nom_de_ma_base where '' = 'ce_qui_sera_indiqué_dans_le_champ' ; a ce stade, j'ai trouve quelque chose de semblable, mais je dois taper ma requete a la main (ça je sais le faire, mais peut etre pas les gens qui accederont a cette page ) voici ce que j'ai a ce jour : <?php require_once('Connections/agenceimmo.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); Switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } mysql_select_db($database_agenceimmo, $agenceimmo); $query_cherchelocalite = "SELECT * FROM agenceimmo"; $cherchelocalite = mysql_query($query_cherchelocalite, $agenceimmo) or die(mysql_error()); $row_cherchelocalite = mysql_fetch_assoc($cherchelocalite); $totalRows_cherchelocalite = mysql_num_rows($cherchelocalite); ?><!-- Ce script contient un formulaire pour soumettre des requêtes à une base de données. Il ne dépend pas du langage de requête. C'est un formulaire qui s'appelle lui-même (dans la balise FORM, l'attribut action = "_self") La sécurité n'est pas gérée dans le script, mais dépend de chacun, aussi bien au niveau de l'accès à la page que des "grant" SQL de la base de données. A la connexion à la base de données, les tables sont listées, et un bouton est créé pour pouvoir insérer le nom de la table dans la zone de requête. Ce script ne préjuge pas de la requête, et ne contrôle en aucune façon sa validité (sauf si elle est vide). En cas de requête INSERT ou UPDATE, on voit le nombre de rangées insérées ou modifiées. En cas d'erreur de requête, le n° de l'erreur est reporté, ainsi que son libellé. --> <!-- inclusion optionnelle d'une page gérant la sécurité d'accès --> <?php //include "controle_acces.php" ?> <!-- --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Description" name="Description" content="Requeteur SQL"> <title>cherche</title> <!-- ********* Paramètres de connexion au serveur et à la base de données (maBdd) ************--> <?php $hostname_connexion = "xxx"; $database_connexion = "xxx"; $username_connexion = "xxx"; $password_connexion = "xxx"; $connexion = mysql_pconnect($hostname_connexion, $username_connexion, $password_connexion) or trigger_error(mysql_error(),E_USER_ERROR); ?> <?php // Ci-dessous, requête pour lister les tables de la bdd et leurs caractéristiques // dès le chargement de la page. L'affichage aura lieu juste après le titre, dans <body> mysql_select_db($database_connexion, $connexion); $query_tables = mysql_query("SHOW TABLE STATUS", $connexion) or die(mysql_error()); $row_query_tables = mysql_fetch_assoc($query_tables); $totalRows_query_tables = mysql_num_rows($query_tables); ?> <?php // C'est ici que la requête entrée par l'utilisteur est soumise à la base de données lors du clic sur le bouton de soumission. // Le test isset du début évite de lancer la requête au premier chargement de la page. if (isset($_REQUEST['texte_requete'])) { mysql_select_db($database_connexion, $connexion); // Quand on soumet ce formulaire, c'est le texte de requête qui est choisi. // Si on clique quand la requête est vide, on met quand même qq chose ("SELECT @@version" par exemple pour éviter l'erreur SQL 'Empty query'. $query_texte = stripslashes(trim($_REQUEST['texte_requete'])); if($query_texte == "") { $query_texte = "SELECT @@version"; } $query_result = mysql_query($query_texte, $connexion); if($query_result) { $debut_requete = strtoupper(substr($query_texte,0,5)); // Ci-dessous, on test que la requête est succeptible de renvoyer des enregistrements. // Autrement, mysql_fetch_assoc et mysql_num_rows donneraient une erreur if($debut_requete == "SELEC" || $debut_requete == "SHOW " || $debut_requete == "EXPLA" || $debut_requete == "DESCR") { $requete_type_select = TRUE; $row_query_result = mysql_fetch_assoc($query_result); $totalRows_query_result = mysql_num_rows($query_result); } if($debut_requete == "INSER" or $debut_requete == "UPDAT" or $debut_requete == "DELET") { $requete_type_select = FALSE; $totalRows_affected = mysql_affected_rows(); } } else { echo mysql_errno() . ": " . mysql_error(). "\n"; exit(1); //message d'erreur } } ?> <!-- **************************Quelques styles de présentation ****************************--> <style type="text/css"> <!-- td { empty-cells: show; font-size: smaller; white-space: nowrap; } .petit { font-size: small; } body,td,th { font-family: Arial, Helvetica, sans-serif; background-color: #D3FEF0; } textarea { font-size: small; font-family: "Courier New", Courier, mono; } .Style1 {font-size: x-small} body { background-color: #FFFFCC; } .Style2 { color: #FF8080; font-style: italic; font-weight: bold; } </style> <script language="JavaScript" type="text/JavaScript"> <!-- Fonction utilisée par les boutons "SHOW FULL COLUMNS" et "SELECT * FROM", uniquement pour se simplifier la vie // On peut ajouter des boutons à discrétion function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_setTextOfTextfield(objName,x,newText) { //v3.0 var obj = MM_findObj(objName); if (obj) obj.value = newText; obj.focus(); } // Fonction pour ajouter du texte à la suite de l'existant function MM_addTextOfTextfield(objName,x,newText) { //v3.0 var obj = MM_findObj(objName); if (obj) obj.value = obj.value + ' ' + newText; obj.focus(); } //--> </script> <body> <!-- ************Ci-dessous, différents boutons pour se faciliter la vie *******************--> <!--********************************* bouton INSERT ****************************************--> <p class="petit"> <button type="button" onClick="MM_setTextOfTextfield('texte_requete','','insert to ')">INSERT INTO</button> <span class="Style1"> (ajouter des elements a la table exemple : INSERT INTO `agenceimmo` ( `numref` , `prix` , `ville` , `vendu` , `descriptif` , `image` ) VALUES ('', '', '', '', '', '');</span><br> <br> <!--******************************* bouton SELECT * FROM *************************************--> <button type="button" onClick="MM_setTextOfTextfield('texte_requete','','SELECT * FROM ')"> SELECT * FROM ;</button>   <span class="Style1"> (Trier) exemple : "SELECT * FROM table WHERE champ = "valeur"; </span></p> <!--************************** bouton AFFICHER LES COLONES DE ********************************--> <button type="button" onClick="MM_setTextOfTextfield('texte_requete','','SHOW FULL COLUMNS FROM ')">SHOW FULL COLUMNS FROM</button>  <span class="Style1">(connaître les colonnes d'une table) </span><br> <br> <!--******************************** bouton EFFACER ******************************************--> <button type="button" onClick="MM_setTextOfTextfield('texte_requete','','DELETE FROM ')">DELETE FROM</button>  <span class="Style1">(exemple : DELETE FROM table WHERE champ = "valeur") </span><br> <br> <!-- Le formulaire proprement dit --> <form action="testederecherche.php" method="post" target="_self" id="Requete"> <span class="Style2">Ecrire la requête ci-dessous puis </span> <input name="Submit2" type="submit" value="Soumettre la requête"> <br> <textarea name="texte_requete" cols="50" rows="1" id="texte_requete"><?php if(isset($_REQUEST['texte_requete'])) {echo stripslashes($_REQUEST['texte_requete']);} //Pour répéter la requête au rechargement de la page ?></textarea><br> </form> <p> <?php if(isset($_REQUEST['texte_requete']) && $query_texte > "") { echo "<b>Requête soumise :</b>", "<br>"; // On rappelle la requête echo $query_texte, "<br>"; } ?> </p> <p> <?php if($totalRows_query_result > 0) { echo "<b>Résultat</b>", "<br>"; echo " <b>" . $totalRows_query_result . "</b> enregistrement(s)"; echo '<table border="1" cellpadding="1" cellspacing="1" summary="Resultats">'; echo '<tr>'; foreach ($row_query_result as $cle => $valeur) { echo '<th align="center">' . htmlentities($cle) . '</th>'; } do { echo '<tr>'; foreach ($row_query_result as $cle => $valeur) { echo '<td>' . htmlentities($valeur) . '</td>'; } echo '</tr>'; } while ($row_query_result = mysql_fetch_assoc($query_result)); echo '</table>'; } if($requete_type_select == TRUE && $totalRows_query_result == 0) { echo "Aucun enregistrement ne correspond"; } if($debut_requete == "UPDAT" && $totalRows_affected > 0) { echo $totalRows_affected , " enregistrement(s) modifié(s)"; } if($debut_requete == "INSER" && $totalRows_affected > 0) { echo $totalRows_affected , " enregistrement(s) inséré(s)"; } if($debut_requete == "DELET" && $totalRows_affected > 0) { echo $totalRows_affected , " enregistrement(s) effacé(s)"; } //if($totalRows_query_result == 0 && $erreur == "" && $requete_type_select == TRUE) {echo "Pas d'enregistrement";} ?> </p> </body> </html> <?php mysql_free_result($cherchelocalite); if(isset($query_result) && $query_result == TRUE && $requete_type_select == TRUE) { mysql_free_result($query_result); } ?> c'est pas de moi évidement !!!mais c'est presque ce que je cherche, si je pouvais trouver le meme truc mais ou plutot que de taper toute la requete je n'avais qu a taper la valeur de mon champ recherche merci d'avance ...
Afficher le profil de padymen Voir la configuration de padymenEnvoyer un message privé à padymen
  Revenir en haut de la page
 padymen  Posté le 29/07/2006 à 09:59  
Astucien


1549 Messages
re, j'oubliais un truc,pour ce que j'ecris ici plus haut, cette page ne s affihce qu avec ff, avec ie, j'ai une belle page jaune, la non plus je ne sais pas pourquoi !!!!
Afficher le profil de padymen Voir la configuration de padymenEnvoyer un message privé à padymen
  Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page