formulaire access ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaire access ?

par daoud » 10 mai 2005, 13:29

TROP COOOOOOOOOOOOOOOOOOOL ! :)

si c'est ok => RESOLU ;)

daoud

par donny » 10 mai 2005, 13:16

en faite ton code etait bon meme ,celui avec le tableau d hier
mais j ai fait le con, j ai oublié de changer le lien dans a href j ai laisser index.php :oops:
mais la c est bon sa marche
Merci franchement sa me depanne mais pas possible et en plus les post que j ai poser dans ce forum sa m a permis d apprendre des truc que meme avec les tutos je pigeai pas

maintenant avec ce code je vais rajouter un bouton ou un lien qui reaffiche la meme page et comme sa quand je clique dessus bin sa modifie dans la base de donnée,je vais meme essayer supprimer je pense aussi

par daoud » 10 mai 2005, 08:39

j'ai regardé la syntaxe pour postgre et apparament il faut faire :

Code : Tout sélectionner

$sql = "SELECT $ FROM toto LIMIT 1 OFFSET " . $id;
Lien : http://www.phpfreaks.com/postgresqlmanu ... limit.html

bon, en route
daoud

par daoud » 10 mai 2005, 08:30

Pour connaitre l'erreur, fait echo $sql et regarde la requête, puis si tu ne trouves pas l'erreur execute la dans ton sgbd, genre avec phpmyadmin (je ne sais pas quels sont les outils pour postgre).

daoud

par donny » 09 mai 2005, 23:48

j utilise postgresql et donc à un moment il y avait un message d erreur qui disai de changer le limit par offset
et la sa bloque au niveau de la requete

<?php 
include("connexion.inc.php");
if(!isset($_GET['max'])){ 
$result = pg_query("SELECT * FROM connexion"); 
$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 connexion LIMIT " . $id . ", 1"; 
$sql = "SELECT * FROM connexion offset " . $id . ", 1"; 

$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/> 
<?php 
if($suivant <= $max) 
echo "<a href=\"index.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a><br/>"; 
if($precedent != -1) 
echo "<a href=\"index.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>"; 
?> 
Warning: pg_query(): Query failed: ERROR: syntax error at or near "," at character 33 in c:\documents and settings\franky\bureau\avion\pagia4.php on line 18
erreur

par daoud » 09 mai 2005, 22:56

Bon, j'ai créé une table pour faire des essais, et fait un formulaire qui MARCHE.
<?php
$ressource = mysql_connect("localhost", "root", "");
mysql_select_db("test");
if(!isset($_GET['max'])){
	$result = mysql_query("SELECT * FROM toto");
	$max = mysql_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 toto LIMIT " . $id . ", 1";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_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/>
<?php
if($suivant <= $max)
	echo "<a href=\"index.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a><br/>";
if($precedent != -1)
	echo "<a href=\"index.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>";
?>
avec ça tu devrais y arriver
daoud

par donny » 09 mai 2005, 22:14

ouai je l ai fait

et au depart dans ton code il m indiquait une erreur sur cette ligne
$suivant = index + 1; 
donc je l ai remplacer par sa
$suivant = $index + 1; 
je n ai modifier que sa

par daoud » 09 mai 2005, 22:05

Chez moi ça marche nickel,

as-tu bien clické sur suivant et pas précédent ? (j'ai mis suivant à gauche...)

daoud

par donny » 09 mai 2005, 21:53

en faite c est dans ce genre daoud mais le truc est qu au depart sa affiche bien toto mais quand tu clique sur suivant il ne prend pas en compte le parametre id et rien ne s affiche sur la page

par donny » 09 mai 2005, 21:52

en faite c est dans ce genre daoud mais le truc est qu au depart sa affiche bien toto mais quand tu clique sur suivant il ne prend pas en compte le parametre id et rien ne s affiche sur la page

par donny » 09 mai 2005, 21:43

le truc est que je veux faire un formulaire ou on puisse naviguer entre les different enregistrement a l aide de lien ou de bouton( precedent, suivant)
et ton code ne permet pas trop sa

par daoud » 09 mai 2005, 21:38

J'ai fait un formulaire bidon, j'espère qu'il t'aidera à comprendre le principe que j'utilise.
Sinon, j'ai dans mes deux précédents messages donné quelques modifs à faire et tu ne les a pas faites...
Bon voici le code. Copie le dans un fichier test.php et regarde le.
<?

$tab = array(
	array("id_ville" => "0", "nom_ville" => "toto"),
	array("id_ville" => "1", "nom_ville" => "toto1"),
	array("id_ville" => "2", "nom_ville" => "toto2"));

$nb = count($tab);;// nombre de lignes récupérées"
if(!isset($_GET['id'])){
	$index = 0;
	$suivant = index + 1;
	$precedent = 0;
}
else {
	$index = $_GET['id'];
	$suivant= ($index == $nb - 1) ? $index : $index + 1;
	$precedent= ($index == 0) ? 0 : $index - 1;
}
echo "index : " . $index . "<br/>";
$i = 0; //compteur
while(count($tab) >= $i && $index >= $i){
	if($index == $i){
		$idville=$tab[$i]['id_ville'];
		$ville=$tab[$i]['nom_ville'];
	}
	$i++;
}

?> 
<h3>Formulaire ville</h3>
<form name="form1">
<input type="text" name="idville" value="<? echo $idville; ?>"><br>
<input type="text" name="ville" value="<? echo $ville; ?>">
</form>
<a href="index.php?<?="id=" . $suivant; ?>">SUIVANT</a>
<a href="index.php?<?="id=" . $precedent; ?>">PRECEDENT</a>
daoud

par Cyrano » 09 mai 2005, 21:35

D'abord, active les bbCodes quand tu envoie du code, ce sera plus sympa pour tout le mode;

Ensuite, ta boucle while est drôlement montée : le && $index >= $i ne sert pas à grand chose;
Donc on vire et on construit le formulaire directement DANS la boucle si tu dois avoir plusieurs résultats:
<?
include("connexion.inc.php");

$sql='select * from ville';
$result=pg_query($sql);
$nb = pg_num_rows($result);// nombre de lignes récupérées
if(!isset($_GET['id']))
{
    $index = 0;
}
else
{
    $index = $_POST['id'];
    $suivant= ($index == $nb - 1) ? $index : $index+1;
    $precedent= ($index == 0) ? 0 : $index - 1;
}
//}
?>
<h3>Formulaire ville</h3>
<?php
$i = 1;
while($list=pg_fetch_array($result))
{
    ?>
<input type="text" name="idville<?php echo($i); ?>" value="<? echo $list['idville']; ?>"><br>
<input type="text" name="ville<?php echo($i); ?>" value="<? echo $list['ville']; ?>">
    <?php
    $i++;
}
?>

par donny » 09 mai 2005, 21:24

tout d abord je m excuse et la raison de ce double post est que je dois finir sa rapidement et que je ne sais pas vraiment comment faire,donc je m excuse encore

ou j en suis bin le formulaire s affiche mais le truc est qu il n ai pas alimenter, les champs son vide et je n ai pas de lien pour naviguer

Code : Tout sélectionner

<? include("connexion.inc.php"); $sql='select * from ville'; $result=pg_query($sql); $nb = pg_num_rows($result);// nombre de lignes récupérées if(!isset($_GET['id'])){ $index = 0; }else { $index = $_POST['id']; $suivant= ($index == $nb - 1) ? $index : $index+1; $precedent= ($index == 0) ? 0 : $index - 1; } //} $i = 0; //compteur while($list=pg_fetch_array($result) && $index >= $i){ if($index == $i){ $idville=$list['id_ville']; $ville=$list['nom_ville']; } $i++; } ?> <h3>Formulaire ville</h3> <input type="text" name="idville" value="<? echo $idville; ?>"><br> <input type="text" name="ville" value="<? echo $ville; ?>">

par daoud » 09 mai 2005, 21:02

Salut donny

Bon, j'ai un peu de mal à t'aider parce que je ne sais pas où tu en es, ce que tu fais, ce que tu comprends. Tes messages sont parfois trop évasifs. Pose une question à la fois, essaie d'avancer tranquillement. Fais un effort à ce sujet s'il te plait si tu veux que je (ou d'autres) te donne un coup de main.
Aussi, si tu poses EXACTEMENT les mêmes questions sur le site developpez.com, aie l'amabilité de venir dire ici si la réponse t'a été donnée la bas, car j'avoue avoir été un peu agacé d'avoir passé du temps sur certaines parties de ton problème pour voir que quelqu'un avait déjà répondu à ta question sur ce forum...
Ceci dit, où en es-tu ? Quels sont tes problèmes ?

a+
daoud