[RESOLU] Actionner un bouton automatiquement

Eléphant du PHP | 61 Messages

10 juin 2005, 16:38

dans ma liste déroulante, j'ai des attributs (Desserts, produits frais, etc...). Quand j'en sélectionne un, je veux que un mot-clé ("\\desserts", "\\produits frais", etc...) soit envoyé à une function javascript qui collera cette valeur dans le champs de recherche qui se lancera automatiquement (la fonction est ok, sauf qu'elle est duppliquée 9 fois...faudrait lui mettre des varialbes)....
c'est une astuce qui me sortira les produits d'un répertoire en fait...c'est pour ça que je fais pas en php...pask ça a rien avoir avec ma BDD, malheureusement....

<?php 
require_once('../Connections/elsa.php'); 

$colname_Recordset1 = "1"; 
if (isset($_POST['recherche'])) 
{ 
    $colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['recherche'] : addslashes($_POST['recherche']); 
} 
mysql_select_db($database_mifroma, $mifroma); 
$query_Recordset1 = "SELECT * FROM spec_produits_elsa WHERE mots_cles OR link LIKE '%". $colname_Recordset1 ."%' ORDER BY no_fcm ASC";
$Recordset1 = mysql_query($query_Recordset1, $mifroma) or die(mysql_error()); 
$row_Recordset1 = mysql_fetch_assoc($Recordset1); 
$totalRows_Recordset1 = mysql_num_rows($Recordset1); 
?> 
<html><!-- InstanceBegin template="/Templates/menu.dwt.php" codeOutsideHTMLIsLocked="false" --> 
<head> 
<!-- InstanceBeginEditable name="doctitle" --> 
<title>ELSA :: Laboratoire</title> 
<SCRIPT language="javascript"> 
function copiesearch1() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Desserts" 
    document.forms['form1'].submit(); 
} 
function copiesearch2() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Fromage Moudon" 
    document.forms['form1'].submit(); 
} 
function copiesearch3() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Fromages frais" 
    document.forms['form1'].submit(); 
} 
function copiesearch4() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Produits frais" 
    document.forms['form1'].submit(); 
} 
function copiesearch5() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Produits grands consommateurs" 
    document.forms['form1'].submit(); 
} 
function copiesearch6() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Produits stériles" 
    document.forms['form1'].submit(); 
} 
function copiesearch7() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Swiss délice" 
    document.forms['form1'].submit(); 
} 
function copiesearch8() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Vinaigres" 
    document.forms['form1'].submit(); 
} 
function copiesearch9() 
{ 
    document.forms["form1"].elements["recherche"].value = "\\Yogourts" 
    document.forms['form1'].submit(); 
} 
</SCRIPT> 
<!-- InstanceEndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<Meta http-equiv="imagetoolbar" content="no"> 
<!-- InstanceBeginEditable name="head" --> 
<!-- InstanceEndEditable --> 
<link href="../css/infostyle.css" rel="stylesheet" type="text/css"> 
</head> 
<body bgcolor="#90A2AD"> 
<table width="100%" height="100%" align="center"> 
  <tr> 
    <td height="701" align="center" valign="top"><a name="haut"></a> <br> 
      <br> 
      <table width="700" height="580" border="1" align="center" bordercolor="#000000" bgcolor="#FFFFFF"> 
        <tr> 
          <td width="100%" height="100%" align="center" valign="top"><table width="100%" border="1" align="center" cellspacing="0" bordercolor="#CCCCCC"> 
              <tr> 
                <td width="82%" align="center" valign="middle" bgcolor="#90A2AD" class="noir4"><!-- InstanceBeginEditable name="titre" --> 
                  <p>Laboratoire - Spécification des produits</p> 
                  <!-- InstanceEndEditable --> 
                </td> 
                <td width="18%"><div align="right"><a href="../index.php"><img src="../images/logo_elsa.gif" width="116" height="34" border="0"></a></div></td> 
              </tr> 
            </table> 
            <table width="96%" height="525"> 
              <tr align="center" valign="middle"> 
                <td width="100%" height="51"><!-- InstanceBeginEditable name="recherche" --><span class="noir2gras">Liste 
                  des produits</span><!-- InstanceEndEditable --> </td> 
              </tr> 
              <tr valign="top"> 
                <td height="466"><!-- InstanceBeginEditable name="produits" --> 
                  <hr> 
                  <div align="justify"><span class="noir2"><br> 
                  La liste ci-dessous contient tous les produits de ELSA. 
                  La colonne de gauche correspond au numéro FCM et celle 
                  de droite à la désignation du produit. Si vous 
                  cliquez sur le lien du numéro FCM, vous ouvrirez la 
                  fiche de spécification du produit correspondant (format 
                  Excel).<br> 
                  Grâce au moteur de recherches, vous avez la possibilité 
                  de trouver plus rapidement un produit. Il vous suffit de saisir 
                  un seul mot clé et de cliquer sur le bouton "Lancer 
                  la recherche". Les mots clés peuvent être 
                  soit une partie du numéro FCM (2101, 025, 001, etc...), 
                  soit un mot de la désignation (fraise, séré, crème, etc..). Vous pouvez également ne saisir 
                  qu'une ou plusieurs lettre(s) d'un mot, ou chiffre(s) d'un 
                  nombre, la recherche sera par contre moins précise 
                  et par conséquent plus vaste. Le moteur ne prend pas 
                  en compte les caratères à accents (grave, aigue, 
                  etc...). La liste de bouton vous permet de faire afficher en un clic tous les produits de la catégorie. </span><br> 
                  <br> 
                  <hr> 
                  </div> 
                  <form name="form1" id="form1" method="post" action=""><div align="center"> 
                    <p> 
                    <input type="button" name="Desserts" value="Desserts" id="Desserts" onClick="copiesearch1()"> 
                    <input type="button" name="Fromage Moudon" value="Fromage Moudon" id="Fromage Moudon" onClick="copiesearch2()"> 
                    <input type="button" name="Fromages frais" value="Fromages frais" id="Fromages frais" onClick="copiesearch3()"> 
                    <input type="button" name="Produits frais" value="Produits frais" id="Produits frais" onClick="copiesearch4()"> 
                    <input type="button" name="Produits grands consommateurs" value="grands consommateurs" id="Produits grands consommateurs" onClick="copiesearch5()"> 
                    <input type="button" name="Produits stériles" value="Produits stérile" id="Produits stérile" onClick="copiesearch6()"> 
                    <input type="button" name="Swiss délice" value="Swiss délice" id="Swiss délice" onClick="copiesearch7()"> 
                    <input type="button" name="Vinaigres" value="Vinaigres" id="Vinaigres" onClick="copiesearch8()"> 
                    <input type="button" name="Yogourts" value="Yogourts" id="Yogourts" onClick="copiesearch9()"> 
                    </p> 
                    <p> 
               <select name="select" size="1" onChange="copiesearch1()"> 
                    <option value="">Faites votre choix</option> 
					<option value="copiesearch1()">Desserts</option> 
                    <option value="">Fromage Moudon</option> 
                    <option value="">Fromages frais</option> 
                    <option value="">Produits frais</option> 
                    <option value="">Produits grands consommateurs</option> 
                    <option value="">Produits stériles</option> 
                    <option value="">Swiss délice</option> 
                    <option value="">Vinaigres</option> 
                    <option value="">Yogourts</option> 
</select> 
                    marche pas encore ! </p> 
                    </div> 
                    <table width="60%" align="center"> 
                      <tr align="center" valign="middle"> 
                        <td width="50%"><input name="recherche" type="text" id="recherche" value="" size="30"></td> 
                        <td width="50%"><input type="submit" name="Submit" value="Lancer la recherche"></td> 
                      </tr> 
                    </table> 
                    <p align="center"><a href="login.php" class="noir1">Administration 
                    de la base</a></p> 
                    <hr> 
                    <br> 
                    <table width="100%" border="1" cellspacing="0" bordercolor="#CCCCCC"> 
                      <tr valign="middle" bgcolor="#90A2AD" class="noir2gras"> 
                        <td width="40%" bgcolor="#90A2AD">&nbsp;N° FCM</td> 
                        <td width="60%">&nbsp;Désignation du produit</td> 
                      </tr> 
<?php 
while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) 
{ 
    ?> 
                      <tr valign="middle" class="noir2"> 
                        <td width="40%" height="21"><a href="<?php echo $row_Recordset1['link']; ?>" target="_blank" class="noir2">&nbsp;<?php echo $row_Recordset1['no_fcm']; ?></a></td> 
                        <td width="60%">&nbsp;<?php echo $row_Recordset1['designation']; ?></td> 
                      </tr> 
<?php 
} 
?> 
                    </table> 
                  </form> 
                  <p align="center"><a href="#haut" class="noir2">Retour en haut</a></p> 
                  <p align="center">&nbsp;</p> 
<!-- InstanceEndEditable -->                </td> 
              </tr> 
            </table> 
          </td> 
        </tr> 
      </table></td> 
  </tr> 
</table> 
</body> 
<!-- InstanceEnd --></html> 
<?php 
mysql_free_result($Recordset1); 
?> 
si vous avez une idée pour ma signature, faite-moi signe, merci...

Mammouth du PHP | 19672 Messages

10 juin 2005, 17:15

bon, on peut simplifier: juste une question: as-tu impérativement besoin de ce "\\" avant un nom de produit dans tes fonctions ??
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 19672 Messages

10 juin 2005, 18:19

BOn, j'ai réduit pas mal le code et en fait j'ai extrait ce dont j'avais besoin, je te laisse t'arranger pour reprendre ce dont tu as besoin pour ton propre code:
<html>
<head>
<title>ELSA :: Laboratoire</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<Meta http-equiv="imagetoolbar" content="no">
<script language="javascript">
function copiesearch(produit)
{
	window.document.forms['form1'].elements['recherche'].value = produit;
	//window.document.forms['form1'].submit();
}
</script>
</head>
<body bgcolor="#90A2AD">
<form id="form1" method="post" action="">
  <div align="center">
  <input type="button" name="Desserts" value="Desserts" id="Desserts" onClick="copiesearch('\\\\Desserts');"><br>
  <input type="button" name="Fromage Moudon" value="Fromage Moudon" id="Fromage Moudon" onClick="copiesearch('\\\\Fromage Moudon');"><br>
  <input type="button" name="Fromages frais" value="Fromages frais" id="Fromages frais" onClick="copiesearch('\\\\Fromages frais');"><br>
  <input type="button" name="Produits frais" value="Produits frais" id="Produits frais" onClick="copiesearch('\\\\Produits frais');"><br>
  <input type="button" name="Produits grands consommateurs" value="grands consommateurs" id="Produits grands consommateurs" onClick="copiesearch('\\\\Produits grands consommateurs');"><br>
  <input type="button" name="Produits stériles" value="Produits stérile" id="Produits stérile" onClick="copiesearch('\\\\Produits stériles');"><br>
  <input type="button" name="Swiss délice" value="Swiss délice" id="Swiss délice" onClick="copiesearch('\\\\Swiss délice');"><br>
  <input type="button" name="Vinaigres" value="Vinaigres" id="Vinaigres" onClick="copiesearch('\\\\Vinaigres');"><br>
  <input type="button" name="Yogourts" value="Yogourts" id="Yogourts" onClick="copiesearch('\\\\Yogourts');"><br>
  
  <select name="select" id="produit" size="1" onChange="copiesearch(this.value);">
  <option value="\\">Faites votre choix</option>
  <option value="\\Dessert">Desserts</option>
  <option value="\\Fromage Moudon">Fromage Moudon</option>
  <option value="\\Fromages frais">Fromages frais</option>
  <option value="\\Produits frais">Produits frais</option>
  <option value="\\Produits grands consommateurs">Produits grands consommateurs</option>
  <option value="\\Produits stériles">Produits stériles</option>
  <option value="\\Swiss délice">Swiss délice</option>
  <option value="\\Vinaigres">Vinaigres</option>
  <option value="\\Yogourts">Yogourts</option>
  </select><br>
  </div>
  <table width="60%" align="center">
    <tr align="center" valign="middle">
      <td width="50%"><input name="recherche" type="text" id="recherche" value="" size="30"></td>
      <td width="50%"><input type="submit" name="Submit" value="Lancer la recherche"></td>
    </tr>
  </table>
</form>
</body>
</html>
De mon coté, ça fonctionne, mais tu noteras que j'ai commenté la ligne submit. Au lieu de 5000 fonctions: une seule et j'envoie un paramètre. Ensuite, pour reproduire exactement ce que tu avais fait, j'ai du échapper des "\" donc tu en vois 4 dans les apels de fonctions alors qu'il n'y en a que 2 dans les values des options. ça envoie donc bien deux \\ dans la zone de recherche: si tu n'en veux qu'un, mets en deux là où il y en a 4 et 1 là où il y en a 2

Tu me diras si ça marche pas de ton coté.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 61 Messages

13 juin 2005, 10:01

:P Excellent !!!

En fait j'en mettais deux (de \) pour en avoir un... pask c'est pour faire une recherche dans un répertoire...

par contre...je viens de mettre le code en place, j'ai plus le lancement automatique de la recherche après la sélection dans la list déroulante...

mais je vais voir tout de suite, c'est surement tout con.....
si vous avez une idée pour ma signature, faite-moi signe, merci...

Eléphant du PHP | 61 Messages

13 juin 2005, 10:04

De mon coté, ça fonctionne, mais tu noteras que j'ai commenté la ligne submit
ha ben voilà. c'était bêtement ça !!

Ben ça marche nickel !!!

Un Grand MERCI !!!

Master Cyrano, you're the best !! :D
si vous avez une idée pour ma signature, faite-moi signe, merci...