formulaire access ?

Eléphant du PHP | 406 Messages

07 mai 2005, 12:42

Salut,


Est ce possible de faire un truc comme dans les formulaire je m explique sur les formulaire en bas on dispose de bouton (avec des petite fleche dessus) qui permette de passer a l enregistrement suivant,precedent,au dernier enregistrer, premier enregistrement tout en restant sur le meme formulaire .

On peut le faire ??

merci

Eléphant du PHP | 219 Messages

07 mai 2005, 12:44

OUI :) (faut quand même recharger les pages hein ;))

Eléphant du PHP | 406 Messages

07 mai 2005, 12:49

Il faut utiliser du javascript ?

Eléphant du PHP | 219 Messages

07 mai 2005, 13:24

En html c'est possible, pas besoin de javascript

daoud

Eléphant du PHP | 406 Messages

07 mai 2005, 13:26

deja j ai fait ce debut de code et il plante
<h3>Formulaire ville</h3>
<input type="text" name="idville"><br>
<input type="text" name="ville">


<?

include("connexion.inc.php");

$sql='select * from ville where=1";

$result=pg_query($sql);
while($list=pg_fetch_array($result)){
$idville=$list['id_ville'];
$ville=$list['ville'];

}

?>
il m affiche toujours cette erreur
Parse error: parse error in c:\documents and settings\franky\bureau\avion\formuville.php on line 14

Eléphant du PHP | 219 Messages

07 mai 2005, 13:30

A l'affichage du code sur cette page tu pourrais déjà voir quelque chose, en effet tout est rouge à partir d'un moment...
$sql="select * from ville where=1"; 
daoud

Eléphant du PHP | 406 Messages

07 mai 2005, 13:44

j ai rectifier

et sa donne cela
exact merci
mais j ai modifier et apparament il ne reconnait pas la variable ville
<h3>Formulaire ville</h3>
<input type="text" name="idville"><br>
<input type="text" name="ville">


<?

include("connexion.inc.php");

$sql='select * from ville where id_ville=1';

$result=pg_query($sql);
while($list=pg_fetch_array($result)){
$idville=$list['id_ville'];
$ville=$list['ville'];

}

?>
Notice: Undefined index: ville in c:\documents and settings\franky\bureau\avion\formuville.php on line 15
pourtant je dois bien choisir la premiere ville de ma table pour l afficher des le debut

Eléphant du PHP | 219 Messages

07 mai 2005, 13:51

Bon,

Cette erreur veut dire que tu n'as pas de champ 'ville' dans ta base, je me trompe ?
Ensuite je comprends pas trop ce que tu veux dire par
pourtant je dois bien choisir la premiere ville de ma table pour l afficher des le debut
j'ai bien une idée mais...

a+
daoud

Eléphant du PHP | 406 Messages

07 mai 2005, 14:34

exact c etait je suis bete
Mais le truc est que maintenant je n ai plus d erreur et pourtant mes deux champs sont vide ?

en faite comme j ai expliquer je faire une formulaire à la access et donc je suis obligé de choisir le premiere enregistrement de ma table ville pour l afficher dans les 2 champs de mon formulaire ?

Eléphant du PHP | 406 Messages

07 mai 2005, 18:11

J ai corriger sa affiche mais je vois vraiment pas comment acceder au autre ligne
<?

include("connexion.inc.php");

$sql='select * from ville where id_ville=1';

$result=pg_query($sql);
while($list=pg_fetch_array($result)){
$idville=$list['id_ville'];
$ville=$list['nom_ville'];

}

?>

<h3>Formulaire ville</h3>
<input type="text" name="idville" value="<? echo $idville; ?>"><br>
<input type="text" name="ville" value="<? echo $ville; ?>">

Eléphant du PHP | 219 Messages

07 mai 2005, 19:04

Ta question est-elle bien : comment passer d'un enregistrement à un autre?

daoud

Eléphant du PHP | 406 Messages

07 mai 2005, 19:11

je sais pas si c est possible c est pour sa que je demande,
je vais essayer de reformuler
en faite je sais pas si tu vois comment son les formulaire access en bas du formulaire tu a des bouton qui te permette d acceder a l enregistrement suivant,precedent, au derniere enregistrement, au premier enregistrement
je sais pas si tu vois ce que je veux dire

Eléphant du PHP | 219 Messages

07 mai 2005, 19:38

Ok,
l'idée (mais si d'autres en on faut le dire hein ;)) serait de faire un bouton (tu peux commencer par faire un lien) qui te redirige vers la même page et qui passe en paramètre l'id de la valeur actuelle, le type de mouvement demandé.
ex :
<?php
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?type=suivant&id=" . $index . "\">SUIVANT</a>";
?>
même genre d'idée avec précédent. Il faut prendre garde à bien vérifier s'il y a une valeur possible et gérer ces cas.
Plutôt que de faire cela avec idVille tu peux utiliser un index. Au début il a pour valeur 0. Si tu veux la page suivante tu l'incrémentes. ex :
$result=pg_query($sql);
$nb = pg_num_rows($result);// nombre de lignes récupérées
if(!isset($_POST['id'])
  $index = 0;
else {
  $index = $_POST['id'];
  $type = $_POST['type'];
  switch (type){
    case "suivant" :
       $index = ($index == $nb) ? $index : $index++;
       break;
    case "precedent" :
       $index = ($index == 0) ? 0 : $index--;
       break;
  }
}
$i = 0; //compteur
while($list=pg_fetch_array($result) && $index >= $i){
  if($index == $i){
    $idville=$list['id_ville'];
    $ville=$list['nom_ville'];
  }
  $i++;
}

Bon, c'est pas facile d'écrire ça comme ça, sans test, j'espère ne pas avoir fait d'erreurs ;)
a+
daoud

Eléphant du PHP | 219 Messages

07 mai 2005, 21:16

Tu peux aussi utiliser la fonctionalité "limit" en sql...

daoud

Eléphant du PHP | 219 Messages

07 mai 2005, 21:26

Bon et après réflexion, tu pourrais faire plus simple, sans utiliser de paramètre type :
$result=pg_query($sql);
$nb = pg_num_rows($result);// nombre de lignes récupérées
if(!isset($_GET['id'])// faut mettre get ici et pas post :oops:
  $index = 0;
else {
  $index = $_POST['id'];
  $suivant= ($index == $nb) ? $index : $index++;
  $precedent= ($index == 0) ? 0 : $index--;
  }
}
$i = 0; //compteur
while($list=pg_fetch_array($result) && $index >= $i){
  if($index == $i){
    $idville=$list['id_ville'];
    $ville=$list['nom_ville'];
  }
  $i++;
}
et dans tes boutons pour id tu fais "id=" . $precedent, et idem pour suivant, c'est plus simple
voilou
daoud