Bouton refreh php

Résolu/Fermé
ryldor Messages postés 144 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2009 - 6 mai 2008 à 11:18
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 - 6 mai 2008 à 12:27
Bonjour,

J'aimerais utiliser un bouton refresh pour reloader ma page et que des variables lui soient transmise.
Je m'explique, j'ai créer le formulaire suivant:

$affichage_php .="Vous avez la possibilite de choisir la periode !<br /><br />";
$affichage_php .= "<table class=\"agenda\" >";
$affichage_php .= "<tr><td class=\"tete_agenda\" ><input type=\"text\" name=\"jourD\"></td><td><input type=\"button\" name=\"refresh\" value=\"Rafraichir\" onclick=\"window.navigate('agenda.php?debut=jourD');\"></td></tr></table><br />";

J'ai besoin de recuperer le contenu de mon champ texte qui a pour nom "jourD" pour effectuer un traitement.
Cependant je veux rester toujours sur la même page d'ou l'utilité du bouton refresh.

Mais je dois avoir une erreur dans mon code, rien ne se passe quand je clique sur le bouton refresh

3 réponses

burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
6 mai 2008 à 11:37
Hello,

j'ai une question es tu obligé de passer par javascript ou tu peux utiliser un formulaire normale car si tu n'as pas cette contrainte de js alors tu dois réécrire comme ceci.

$affichage_php .="Vous avez la possibilite de choisir la periode !<br /><br />";
$affichage_php .= "<table class=\"agenda\" >";
$affichage_php .= "<tr><td class=\"tete_agenda\" ><input type=\"text\" name=\"jourD\" ></td><td><input type=\"submit\" name=\"refresh\" value=\"Rafraichir\" onclick=\"rafraichir(this);\"></td></tr>­</table><br />";

^^ non!

mais
$affichage_php .="Vous avez la possibilite de choisir la periode !<br /><br />";
$affichage_php .= "<form id=\"monform\" action=\"agenda.php\" method=\"POST\"><table class=\"agenda\" >";
$affichage_php .= "<tr><td class=\"tete_agenda\" ><input type=\"text\" name=\"jourD\" ></td><td><input type=\"submit\" name=\"refresh\" value=\"Rafraichir\" ></td></tr>­</table><br /></form>";

C'est la manière rapide, maintenant si tu veux utiliser des technique ajax pour ce faire tu le peux aussi dis le et je te montre un exemple :d

Tim
2
ryldor Messages postés 144 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2009 14
6 mai 2008 à 11:43
Merci pour ta reponse, je ne suis pas obliger de passer par le javascript.
Je vais mieu t'expliquer mon probleme,
J'ai une page dans lequel j'affiche un tableau avec des données tiré d'une base de donnée mysql.
Cependan je voudrais ajouter la possibiliter que l'internaute puisse ajouter un critere de recherche d'ou le formulaire cite avan.

Mais comment recuperer la valeur du champ une fois le clique sur le bouton refresh.
2
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
6 mai 2008 à 11:52
Bien dans ta page php tu dois

tester la valeur de la variable $_POST['jourD']
$jourD=$_POST['jourD'];

donc un truc du style

if(!is_empty($jourD)) alors code pour le jourd parametrer

else code normal.

Exemple complet

<?php
if(isset($_POST['jourD']) && !is_empty($_POST['jourD']))
{
$jour=$_POST['jourD'];

puis ton code de selection avec une date de debut!!! et affichage
}//fin du if
else
{
ici ton code de selection et d'affichage sans date de debut(donc normal)
}//fin else

?>
0
ryldor Messages postés 144 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 27 janvier 2009 14
6 mai 2008 à 12:03
Merci pour ta reponse mais la page ne s'affiche pas, j'ai un fond blanc je dois donc avoir un autre probleme, je te donne tou mon code, peut etre trouvera tu la solution :


<html>
<head>
<title>Agenda</title>

<link rel="stylesheet" type="text/css" href="spip_style.css" />
</head>
<body>

<?php
$affichage_php .="Vous avez la possibilite de choisir la periode !<br /><br />";
$affichage_php .= "<form id=\"monform\" action=\"agenda.php\" method=\"POST\"><table class=\"agenda\" >";
$affichage_php .= "<tr><td class=\"tete_agenda\" ><input type=\"text\" name=\"jourD\" ></td><td><input type=\"submit\" name=\"refresh\" value=\"Rafraichir\" ></td></tr></table><br /></form>";

if(isset($_POST['jourD']) && !is_empty($_POST['jourD']))
{
$debut=$_POST['jourD'];
$fin=1212184800;
}
else
{
$debut=1209592800; //ici une valeur par defaut (c'est du timestamp)
$fin=1212184800;
}
/*--------------------Partie SQL-----------------------------------------------------*/
mysql_connect("localhost","root","root");
mysql_select_db("GRR");

$ma_requete = mysql_query( "select start_time, end_time,room_name,area_id,grr_entry.description from grr_entry,grr_room where grr_entry.room_id=grr_room.id and area_id=5 and start_time>='$debut' and end_time<='$fin' order by start_time")or die ("erreur de requete 2");
if( $ma_requete) {
if( mysql_num_rows($ma_requete) > 0) {
$affichage_php .= "<table class=\"agenda\" >";
$affichage_php .= "<tr><td class=\"tete_agenda\" >Debut<br /></td><td class=\"tete_agenda\" >Fin<br /></td><td class=\"tete_agenda\" >Genre<br /></td><td class=\"tete_agenda\" > Description<br /></td> </tr>";
while ($mon_resultat = mysql_fetch_array($ma_requete)) {

$dateD=date("j-m-Y",$mon_resultat["start_time"]);
$heureD=date("H:i:s",$mon_resultat["start_time"]);
$dateF=date("j-m-Y",$mon_resultat["end_time"]);
$heureF=date("H:i:s",$mon_resultat["end_time"]);
$AnneeD=date("Y",$mon_resultat["start_time"]);


$affichage_php .= "<tr class=\"row_" . ($ncr_numero_ligne++ % 2 ? 'odd' : 'even') . "\">";
$affichage_php .= "<td class=\"agenda\" >" . $dateD . "<br />" .$heureD . " </td>";
$affichage_php .= "<td class=\"agenda\" >" . $dateF . "<br />" .$heureF . " </td>";
$affichage_php .= "<td class=\"agenda\" >" . $mon_resultat["room_name"] . " </td>";
$affichage_php .= "<td class=\"agenda\" >" . $mon_resultat["description"] . "</a></td>"; $affichage_php .= "</tr>";
}

}
$affichage_php .= "</table>";
}

}
?>
</body>
</html>
2
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16
6 mai 2008 à 12:25
la dernière accolade avant ?> est en trop
0
burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009 16 > burnedsyn Messages postés 170 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 21 février 2009
6 mai 2008 à 12:27
Pourquoi tu ouvres deux topic sur le meme sujet ?
0