boite de dialogue

Eléphant du PHP | 406 Messages

12 mai 2005, 11:53

ouai exact c est que je voulais faire

Code : Tout sélectionner

<input type="submit" value="Modifier" onclick=" return confirm('Vraiment modifier?')">
mais vu que je connais pas trop le javascript je ne savais pas que sa existait
et donc apres avec le confirm je peux savoir sur quel bouton il a cliquer et revenir sur ma page et faire un update

Mammouth du PHP | 983 Messages

12 mai 2005, 11:57

Si on clique sur OK, ton formulaire est validé. Donc tu peux faire ton UPDATE dans la meme page. S'il clique sur Annuler, rien n'est fait.

Donc dans ta page tu peux commencer ainsi:
if(isset($_POST["Modifier"]){
   //modification des données ds la bd
}
?>

Puis la tu affiches ton formulaire comme avant.

Eléphant du PHP | 406 Messages

12 mai 2005, 12:00

et sa le rafraichi automatiquement

j allai faire cela, cest bon aussi ?

if (confirm('Vraiment modifier?')){

je fais le update

}

Mammouth du PHP | 983 Messages

12 mai 2005, 12:04

Nan, tu confonds JS et php la!

Js est executé côté client, PHP côté serveur.
La fonction confirm() te permet juste de savoir si l'utilisateur veut modifier les données ou pas. Donc s'il cliques sur oui, il faut que tu fasse un bout de code PHP qui fasse l'UPDATE comme expliqué plus haut!!!

Eléphant du PHP | 406 Messages

12 mai 2005, 12:57

donc du genre
if(isset($_POST["Modifier"]){ 
   $id=$row[0];
   $nom=$row[1];
$sql='update personne set nom='.$nom.'where id='$id;
$result=pg_query($sql);
} 
et si il clique sur annuler il ne se passe rien

donc je rajoute ce bout de code a ma page que voici
<?php 
include("connexion.inc.php");
if(!isset($_GET['max'])){ 
$result = pg_query("SELECT * FROM personne"); 
$max = pg_num_rows($result) - 1;//la numérotaion commence à 0 
$suivant = 1; 
$precedent = -1; 
$id = 0; 
} 
else { 
$max = intval($_GET['max']); 
$id = intval($_GET['id']); 
$suivant = $id + 1; 
$precedent = $id - 1; 
} 
//$sql = "SELECT * FROM personne LIMIT " . $id . ", 1"; 
//$sql = "SELECT * FROM personne offset " . $id . ", 1"; 
$sql = "SELECT * FROM personne LIMIT 1 OFFSET " . $id;


$result = pg_query($sql) or die('erreur'); 
//$result = pg_query($sql) or die('erreur'); 
$row = pg_fetch_row($result); 
//print_r($row); 
?> 
<input type="text" name="t1" value="<?php echo $row[0]; ?>"><br/> 
<input type="text" name="t2" value="<?php echo $row[1]; ?>"><br/> 
<table><tr><td><?php $deb=$max-$max;
echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $deb . "\">DEBUT</a>"; ?>
</td>
//if($precedent != -1) 
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>";?></td>
 //if($suivant <= $max) 
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a>";?></td> 
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $max . "\">FIN</a>";?></td>
</tr>
</table>

Mammouth du PHP | 983 Messages

12 mai 2005, 13:11

Oui, tout à fait:
<?php
include("connexion.inc.php");
if(isset($_POST["Modifier"]){
   $id=$row[0];
   $nom=$row[1];
$sql='update personne set nom='.$nom.'where id='$id;
$result=pg_query($sql);
}

if(!isset($_GET['max'])){
$result = pg_query("SELECT * FROM personne");
$max = pg_num_rows($result) - 1;//la numérotaion commence à 0
$suivant = 1;
$precedent = -1;
$id = 0;
}
else {
$max = intval($_GET['max']);
$id = intval($_GET['id']);
$suivant = $id + 1;
$precedent = $id - 1;
}
//$sql = "SELECT * FROM personne LIMIT " . $id . ", 1";
//$sql = "SELECT * FROM personne offset " . $id . ", 1";
$sql = "SELECT * FROM personne LIMIT 1 OFFSET " . $id;


$result = pg_query($sql) or die('erreur');
//$result = pg_query($sql) or die('erreur');
$row = pg_fetch_row($result);
//print_r($row);
?>
<input type="text" name="t1" value="<?php echo $row[0]; ?>"><br/>
<input type="text" name="t2" value="<?php echo $row[1]; ?>"><br/>
<table><tr><td><?php $deb=$max-$max;
echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $deb . "\">DEBUT</a>"; ?>
</td>
//if($precedent != -1)
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>";?></td>
//if($suivant <= $max)
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a>";?></td>
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $max . "\">FIN</a>";?></td>
</tr>
</table>
;)

Eléphant du PHP | 406 Messages

12 mai 2005, 14:10

j ai pas tester mon code encore mais il y a un truc qui me tracasse ,dans mon code je n utilise jamais les balise <form action method="post"> et pourtant on utilise post ici
if(isset($_POST["Modifier"]){ 
   

Eléphant du PHP | 406 Messages

12 mai 2005, 21:45

c est que je me disais il ne le prendra pas en compte
donc j ai rajouter un form mais sa ne fonctionne pas pour autant
il me dit parse error à la ligne 3 ??
<?php 
include("connexion.inc.php"); 
 if(isset($_POST['Modifier']){ 
$id=$row[0]; 
$nom=$row[1]; 
$sql='update personne set nom='.$nom.'where id='$id; 
$result=pg_query($sql); 
}  


if(!isset($_GET['max'])){ 
$result = pg_query("SELECT * FROM personne"); 
$max = pg_num_rows($result) - 1;//la numérotaion commence à 0 
$suivant = 1; 
$precedent = -1; 
$id = 0; 
} 
else { 
$max = intval($_GET['max']); 
$id = intval($_GET['id']); 
$suivant = $id + 1; 
$precedent = $id - 1; 
} 
//$sql = "SELECT * FROM personne LIMIT " . $id . ", 1"; 
//$sql = "SELECT * FROM personne offset " . $id . ", 1"; 
$sql = "SELECT * FROM personne LIMIT 1 OFFSET " . $id; 


$result = pg_query($sql) or die('erreur'); 
//$result = pg_query($sql) or die('erreur'); 
$row = pg_fetch_row($result); 
//print_r($row); 
?> 
<input type="text" name="t1" value="<?php echo $row[0]; ?>"><br/> 
<input type="text" name="t2" value="<?php echo $row[1]; ?>"><br/> 
<table><tr><td><?php $deb=$max-$max; 
echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $deb . "\">DEBUT</a>"; ?> 
</td> 
//if($precedent != -1) 
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>";?></td> 
//if($suivant <= $max) 
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a>";?></td> 
<td><?php echo "<a href=\"pagia4insert.php?max=" . $max . "&id=" . $max . "\">FIN</a>";?></td> 
</tr> 
</table> 
<form action="<? $_SERVER['PHP_SELF'] ?>" methode="POST">
<input type="submit" value="Modifier" onclick=" return confirm('Vraiment modifier?')"> 
</form>

Eléphant du PHP | 406 Messages

12 mai 2005, 22:46

il manque une paranthese

Eléphant du PHP | 406 Messages

13 mai 2005, 18:39

j ai mon code,il ne m affiche pas d erreur mais le truc c est qu il n execute pas la requete de mise à jour ??
<?php 
include("connexion.inc.php"); 
 if(isset($_POST['Modifier'])){ 
$id=$_POST['t1'];
$nom=$_POST['t2'];
$sql="update personne set nom_perso=".$nom."where id_perso=".$id ; 
$result=pg_query($sql); 
}  


if(!isset($_GET['max'])){ 
$result = pg_query("SELECT * FROM personne"); 
$max = pg_num_rows($result) - 1;//la numérotaion commence à 0 
$suivant = 1; 
$precedent = -1; 
$id = 0; 
} 
else { 
$max = intval($_GET['max']); 
$id = intval($_GET['id']); 
$suivant = $id + 1; 
$precedent = $id - 1; 
} 
//$sql = "SELECT * FROM personne LIMIT " . $id . ", 1"; 
//$sql = "SELECT * FROM personne offset " . $id . ", 1"; 
$sql = "SELECT * FROM personne LIMIT 1 OFFSET " . $id; 


$result = pg_query($sql) or die('erreur'); 
//$result = pg_query($sql) or die('erreur'); 
$row = pg_fetch_row($result); 
//print_r($row); 
?> 
<input type="text" name="t1" value="<?php echo $row[0]; ?>"><br/> 
<input type="text" name="t2" value="<?php echo $row[1]; ?>"><br/> 
<table><tr><td><?php $deb=$max-$max; 
echo "<a href=\"modif1.php?max=" . $max . "&id=" . $deb . "\">DEBUT</a>"; ?> 
</td> 
//if($precedent != -1) 
<td><?php echo "<a href=\"modif1.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>";?></td> 
//if($suivant <= $max) 
<td><?php echo "<a href=\"modif1.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a>";?></td> 
<td><?php echo "<a href=\"modif1.php?max=" . $max . "&id=" . $max . "\">FIN</a>";?></td> 
</tr> 
</table> 
<form action="<? $_SERVER['PHP_SELF'] ?>" methode="POST">
<input type="submit" value="Modifier" onclick=" return confirm('Vraiment modifier?')"> 
</form>

ViPHP
fab
ViPHP | 2657 Messages

13 mai 2005, 21:41

A premiere vue il n'y a pas d'espace entre $nom et la clause where
donc remplace
$sql="update personne set nom_perso=".$nom."where id_perso=".$id ; 
par
$sql="update personne set nom_perso=".$nom." where id_perso=".$id ; 
Apres je sais pas avec pgsql mais avec mysql il faut mettre des "apostrophes" autour de texte( Albat : tu as vu je fais des efforts :p ) donc remplace
$sql="update personne set nom_perso=".$nom." where id_perso=".$id ; 
par
$sql="update personne set nom_perso='".$nom."' where id_perso=".$id ; 

Eléphant du PHP | 406 Messages

14 mai 2005, 13:11

j ai effectuer les modification mais le truc est que sa ne fonctionne toujours pas apparament il refuse de prendre en compte les variable nom et id