Probleme de submit ... plusieur submit sur la meme page ...

twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007 - 9 févr. 2006 à 14:06
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008 - 10 févr. 2006 à 10:27
Bonjour,

Voila c'est une page de recherche et je voudrai qu'on puisse faire une recherche sur le nom ou sur la description, sur le numero d'intervention, voir meme sur le nom du pc, mais voila je sais pas comment faire pour que ca marche.

Voila mon code si vous pouvez m'aider ce serai genial merci d'avance


PHP:,
----

<table><form method="post" >

----,
 N&#176; d'intervention  :
</td>
,
,
,
Nom PC  :,
,
,
,
----

Description Machine  :,
,

,
,

Nom Client  :,
,

,
----
,
----
,
</form>
 
     
    <? if ((isset($_POST['nom']))&amp;&amp;(isset($_POST['submit']))) { 
    recherche($_POST['nom']); 
    } 
     
    if ((isset($_POST['descr']))&amp;&amp;(isset($_POST['submit']))){ 
    recherche($_POST['descr']); 
    } 
     
    if ((isset($_POST['inter']))&amp;&amp;(isset($_POST['submit']))) { 
    recherche($_POST['inter']); 
    } 

    if ((isset($_POST['nompc']))&amp;&amp;(isset($_POST['submit']))) { 
    recherche($_POST['nompc']); 
    } 
     
     
     
    ?>
</TD></TR></TBODY></TABLE>

encore MERCI

8 réponses

obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
9 févr. 2006 à 14:22
Le plus simple, enfin a mon avis et pour les connaissance que j'ai,
c'est de ne faire qu'un formulaire, ensuite, tu regarde si tes champs
sont vides ou s'il contiennent un POST:



Par ex pour une recherche par numero, nom et age:



if(empty($num) and empty($nom) and empty($age)

{

echo"pas de post";

}

elseif(!empty($num) and empty($nom) and empty($age)

{

ta requete pour numero

}

elseif(!empty($num) and !empty($nom) and empty($age)

{

ta requete pour numero et nom

}et ainsi de suite selon le nimbre de champs que tu as, voila c'est
comme ca que moi je fais mes moteurs de recherche, aprés il doit
surement exister plus simple mais bon....voilivoilou.

.....++....*-*
0
twixster Messages postés 45 Date d'inscription lundi 6 février 2006 Statut Membre Dernière intervention 29 novembre 2007
9 févr. 2006 à 14:53
le probleme quand je fais ca, la premiere fois que je vais sur ma page recherche, il me dit que toute les variable style $num, $nom, ...

<!--StartFragment -->Notice: Undefined index: nom in c:\documents and settings\stagiere\bureau\dit simplification programme\recherchearchivepc.php on line 77

j'ai essaye avec un :

if(isset($_POST['submit']))
{
...

Mais alors y fait plus aucune recherche ...

comment recuperer les valeurs ???
0
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
9 févr. 2006 à 15:02
Pour que tu comprennes mieux je te passe une de mes sources:



<?

session_start();

include("connection.txt");

include("accueilhaut.php");



//On regarde s'il y a quelques choses de poster:

if(extract($_POST))

{

//On assigne des variables aux post envoyé:

$num_fichier = $_POST['num'];

$nom_fichier = $_POST['nom'];

$jours = $_POST['jours'];

$mois = $_POST['mois'];

$annee = $_POST['annee'];

$date = $jours."-".$mois."-".$annee;



if(empty($num_fichier) AND empty($nom_fichier) AND ($jours 0 OR $mois 0 OR $annee == 0))

{

echo("Vous
n'avez pas entré de critére de recherche, vous allez être redirigé
automatiquement.");


?><script
language="JavaScript">setTimeout("window.location='recherche.php'",5000);</script><?

}

elseif(($jours 0 OR $mois 0 OR $annee == 0) AND !empty($num_fichier) AND !empty($nom_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE num_fichier = '$num_fichier' AND
nom_fichier LIKE '%$nom_fichier%' AND fichier.num_diffusion =
diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif(($jours 0 OR $mois 0 OR $annee == 0) AND empty($num_fichier) AND !empty($nom_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE nom_fichier LIKE '%$nom_fichier%' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);

include("resultat.php");

}

elseif(($jours 0 OR $mois 0 OR $annee == 0) AND empty($nom_fichier) AND !empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE nom_fichier = '$num_fichier' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND empty($nom_fichier) AND empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier = '$date' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND empty($nom_fichier) AND !empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier '$date' AND num_fichier
'$num_fichier' AND fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND empty($num_fichier) AND !empty($nom_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier = '$date' AND nom_fichier
LIKE '%$nom_fichier%' AND fichier.num_diffusion =
diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}

elseif($jours != 0 AND $mois != 0 AND $annee != 0 AND !empty($nom_fichier) AND !empty($num_fichier))

{

$sql = "SELECT
* FROM fichier, diffusion WHERE date_fichier '$date' AND num_fichier
'$num_fichier' AND nom_fichier LIKE '%$nom_fichier%' AND
fichier.num_diffusion = diffusion.num_diffusion";

$result = mysql_query($sql);



include("resultat.php");

}



}

//S'il y a rien d'envoyé on affiche le formulaire:

else

{?>

Vous pouvez effectuer une recherche de fichier, d'archive, de note par les critéres suivant:


- Numéro de fichier


- Nom de fichier


- Date du fichier




<form method='post' action='recherche.php'>

Entrer un numéro de fichier:,

,

----

Entrer un nom de fichier:,

,

----

Selectionner le
jour,

<select name='jours'
size='1'>

<option
value='0'></option>

<?php

$sql = "SELECT * FROM jours";

$result = mysql_query ($sql);

while ($result2 =
mysql_fetch_object ($result))

{

echo("<option
value='$result2->num_jour'>$result2->num_jour</option>");

}

?>

</select>,

----

Selectionner le
mois,

<select name='mois'
size='1'>

<option
value='0'></option>

<?php

$sql = "SELECT * FROM mois";

$result = mysql_query ($sql);

while ($result2 =
mysql_fetch_object ($result))

{

echo("<option
value='$result2->num_mois'>$result2->nom_mois</option>");

}

?>

</select>,

----

Selectionner
l'année,

<select name='annee'
size='1'>

<option
value='0'></option>

<?php

$sql = "SELECT * FROM annee";

$result = mysql_query ($sql);

while ($result2 =
mysql_fetch_object ($result))

{

echo("<option
value='$result2->num_annee'>$result2->num_annee</option>");

}

?>

</select>,

----






<?}

include("accueilbas.php");

?>



Bon bon bon, c'est assez simple et develloper a la va vite, mais
regarde la partie recherche...tu pourra adapter ca en fonction de ce
que tu souhaite...
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
9 févr. 2006 à 17:54
moi je ferais une liste deroulante avec les criteres de recherche

<form>
<select name= 'critere'>
<option value='num_intervention'>N° intervention</option>
<option value='nom_pc'>Nom PC</option>
<option value='descip_machine'>Description machine</option>
<option value='nom_client'>Nom client</option>
</select>

et un champ correspondant à la valeur avec un seul bouton submit

</form>

tu reçois donc en post un critère et une valeur
et tu construis ta requête avec
(les values des options peuvent être directement les noms des champs de ta base de données)
auquel cas

$critere =$_POST['critere'];
$valeur_critere=$_POST['valeur_critere'];

$sql="select * from table where ".$critere."=' ".$valeur_critere." '";
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
9 févr. 2006 à 21:30
ou

$sql="select * from table where ".$critere."='%".$valeur_critere."%' ";
0
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
10 févr. 2006 à 08:26
Oui Sidf, mais s'il a besoin de plusieur critére de recherche ce n'est pas la meilleur solution?
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
10 févr. 2006 à 09:03
ce n'est pas le cas puisqu'il y a autant de boutons submit que de criteres de recherche
donc c'est une recherche exclusive
0
obcstaff Messages postés 147 Date d'inscription mardi 15 novembre 2005 Statut Membre Dernière intervention 28 janvier 2008
10 févr. 2006 à 10:27
Oui effectivement....mais bon, un moteur de recherche est peut être
plus operationnel s'il est multicritéres....enfin bon, ca depend aprés
du cahier des charges et des besoins de l'utilisateur.

Bon bon je fais un long discours alors que je ne suis que débutants loool, bref bonne journée a tous.... ++



*-*
0
Rejoignez-nous