formulaire et affichage de lien

Eléphant du PHP | 406 Messages

10 mai 2005, 21:08

Bonsoir,

en faite j ai un formulaire,que j ai realiser grave au personne du forum donc le probleme que j ai est que j ai des lien pour naviguer entre mes enregistrement, le truc est que je veux qu il est toujours afficher en bas de la page debut,precedent,suivant,fin donc je les ai mis dans un tableau mais des que je clique sur le lien suivant ou autre bin il n apparaisse plus dans le tableau mais en desordre ???
<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=\"pagia4.php?max=" . $max . "&id=" . $deb . "\">DEBUT</a>"; ?>
</td>
//if($precedent != -1) 
<td><?php echo "<a href=\"pagia4.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>";?></td>
 //if($suivant <= $max) 
<td><?php echo "<a href=\"pagia4.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a>";?></td> 
<td><?php echo "<a href=\"pagia4.php?max=" . $max . "&id=" . $max . "\">FIN</a>";?></td>
</tr>
</table>


Eléphant du PHP | 413 Messages

11 mai 2005, 15:57

salut,
c'est un peu confus...
ils n'apparaissent plus ou bien ils apparaissent en désordre ?

par ailleurs, un truc manque : les variables $precedent et $suivant ne sont jamais définies.
il faudrait dire un truc du genre :

Code : Tout sélectionner

$precedent = $id - 1; $suivant = $id + 1;
--
Goeb

Eléphant du PHP | 406 Messages

11 mai 2005, 16:13

en faite il apparaisse mais en desordre et plus dans les cellule du tableau

voila le code en entier
<?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=\"pagia4.php?max=" . $max . "&id=" . $deb . "\">DEBUT</a>"; ?>
</td>
//if($precedent != -1) 
<td><?php echo "<a href=\"pagia4.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a>";?></td>
 //if($suivant <= $max) 
<td><?php echo "<a href=\"pagia4.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a>";?></td> 
<td><?php echo "<a href=\"pagia4.php?max=" . $max . "&id=" . $max . "\">FIN</a>";?></td>
</tr>
</table>

Eléphant du PHP | 219 Messages

11 mai 2005, 17:04

Salut donny,

voici le code que je t'ai passé complété par les liens fin et début.
<?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="" 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 . "&essai=t t&id=" . $suivant . "\">SUIVANT</a><br/>";
if($precedent != -1)
	echo "<a href=\"index.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a><br/>";
echo  "<a href=\"index.php?max=" . $max . "&id=0\">DEBUT</a><br/>";
echo  "<a href=\"index.php?max=" . $max . "&id=" . $max . "\">FIN</a>";
?>
=> pour début tu peux mettre 0.
Sinon, dans ce code je ne propose pas l'accès au bouton suivant s'il n'y a pas d'enregistrement après, idem pour précédent s'il n'y a d'enregistrement avant, donc ...

daoud

Eléphant du PHP | 406 Messages

11 mai 2005, 18:29

je sais pas si t avais remarqué :oops: mais je suppose, je les avais rajouter les liens debut et fin et moi ce que je voulais c est que les liens debut,fin,precedent,suivant soit toujours afficher sur toute les pages

Eléphant du PHP | 219 Messages

11 mai 2005, 18:45

Je pense que les liens devraient apparaitre.
Il faut cependant maintenant que tu fasses attention aux conditions, car sinon tu va passer en paramètre des 'id' hors limite.
Donc je ferais quelque chose comme :
	$suivant = ($id + 1 > $max) ? $max : $id + 1;
	$precedent = ($id - 1 < 0) ? 0 : $id - 1;
cela devrait suffire (chez moi ça roule)

a
daoud

Eléphant du PHP | 406 Messages

11 mai 2005, 19:16

en faite voila tu vois quand je lance mon formulaire il se presente ainsi

[img]C:\Documents%20and%20Settings\FRANKY\Bureau\Nouveau%20dossier%20(5)\1.gif[/img]

donc les liens sont bien aligné
et quand je clique sur suivant,les liens se melange

[img]C:\Documents%20and%20Settings\FRANKY\Bureau\Nouveau%20dossier%20(5)\2.gif[/img]

et puis quand je clique sur precedent par exemple alors,tout se melange et ce lien disparait
[img]C:\Documents%20and%20Settings\FRANKY\Bureau\Nouveau%20dossier%20(5)\3.gif[/img]

et moi ce que je voulais savoir c est si il etait possible que ses liens soit toujours afficher en bas du formulaire et ne disparaisse ,et reste bien aligné comme dans la premiere image

Eléphant du PHP | 406 Messages

11 mai 2005, 19:18

je voulais mettre les image pour que tu vois mais apparament sa marche pas

Eléphant du PHP | 219 Messages

11 mai 2005, 19:27

En ce qui concerne les images il faudrait qu'elles soient accessibles depuis internet parce que là elles sont sur ton dur.
Sinon, moi j'ai essayé ça chez moi et ça roule :
<?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 = 0;//ICI TU METS 0 ET PLUS -1
	$id = 0;
}
else {
	$max = intval($_GET['max']);
	$id = intval($_GET['id']);
	$suivant = ($id + 1 > $max) ? $max: $id + 1;
	$precedent = ($id - 1 < 0) ? 0 : $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="" value="<?php echo $row[0]; ?>"><br/>
<input type="text" name="t2" value="<?php echo $row[1]; ?>"><br/>
<table border="1">
<tr>
<?php
echo "<td><a href=\"index.php?max=" . $max . "&id=" . $suivant . "\">SUIVANT</a><br/></td>";
echo "<td><a href=\"index.php?max=" . $max . "&id=" . $precedent . "\">PRECEDENT</a><br/></td>";
echo  "<td><a href=\"index.php?max=" . $max . "&id=0\">DEBUT</a><br/></td>";
echo  "<td><a href=\"index.php?max=" . $max . "&id=" . $max . "\">FIN</a></td>";
?>
</tr>

bon courage
daoud

Eléphant du PHP | 406 Messages

11 mai 2005, 19:28

t as compris ce que je voulais faire , je sais pas si j ai bien expliquer ?

Eléphant du PHP | 219 Messages

11 mai 2005, 19:33

Tu veux mettre 4 liens en bas de formulaire dans un tableau :
DEBUT - FIN - PRECEDENT - SUIVANT

et que ces liens s'affichent tout le temps.
:?:
daoud

Eléphant du PHP | 406 Messages

11 mai 2005, 19:39

exact ,excuse mais je suis con :oops:
si je te dit que j ai fait la meme erreur qu hier, j ai oublié de changer les liens dans les a href en faite les liens y pointait sur un autre formulaire et pas sur le formulaire de depart

:shock: a rester devant le pc toute la journée ,je deviens aveugle