IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Page par page [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Par défaut Page par page
    bonjour,
    je suis encore débutent en php,
    et j'ai un petit problème concernant un site web que je suis entrai de faire : lien
    j'essaye de faire un sablant de page dès que le nombre de de ligne du tableau dépasse 4 . (comme dans un forum)

    pour tester le problème sur le site login : ok
    PW : ok

    Donc j'ai fait un système disant que de tel a tel id sa affiche page etc....
    Mais le problème sais que dès qu'on supprime une ligne 2 (exemple les id sont : 1,3,4,5 etc.... au lieux de 1,2,3,4,5 etc ....)donc j'ai un script pour décaller toute les id le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    if ($_REQUEST['tableaugcs'] == 'supprimer'){
     
    	$idgc = $_REQUEST['idgc'];
    	$var1 = $_REQUEST['idgc']+1;
    	$var2 = $_REQUEST['idgc'];
    	$var3 = $_REQUEST['idgc'];
     
    	$sql = "SELECT idgc FROM gamme_citroene WHERE idgc >= '$idgc1'";
    	$resultat = mysql_query($sql);
    	$nb_idgc2 =mysql_num_rows($resultat);
     
    		echo "//+1var1 == $var1\\</br>";
     
    		echo "|||| il y a [$nb_idgc2] present à la fin ||||</br>";
     
    	while (($var1 >= $idgc) && ($var1 <= $nb_idgc2))
    	{
    		 $var1++;
    		 $var2 = $var1-2;
    		 $var3++;
    	 		echo "var 1 == [$var1]\\ ";
    	 		echo "var 2 == [$var2]\\ ";
    	 		echo "var 3 == [$var3]\\ ";
     
    	 	$sql = "UPDATE gamme_citroene SET idgc = '$var2' WHERE idgc = '$var3' ";
    	 		if (mysql_query($sql) != false)print "rénumérotation ok</br>";else print "Echec lors de la rénumérotation </br>";
    	};
    };
    la problème sais que sa marche pas mon message d'errer apparait a chaque fois
    j'en déduit que sais ma requet sql qui est en cause mais je ne voix pas la solution

    merci de votre aide

    Vinc

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour,

    Il serait pour moi absurde de devoir re-indexer la base de donnée uniquement parce que tu as ecrit un systeme qui se base sur la continuité des index.

    Montre nous le code correspondant à ton systeme de page et on pourra travailler ensemble sur quelque chose de plus performant.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Par défaut
    je n'ai pas encore crée le système de pages puisque que je ne voix pas un autre moyen (à mon petit niveau) de détecter mes lignes sur mon tableau.
    C'est pour sa que j'ai commencer a régler le problème de la numérotation puisque je ne voix pas d'autre solution.

    Si il y a d'autre possibilités plus performantes je suis preneur

    Voici toutes les sources avec sql (comprise) optimisé pour localhost lien[.rar]1.3mo

    Merci pour votre aide

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Par défaut
    HO tu a raison sabotage !!même si cela marchait a la suppression des message sa ne le changerai pas à la création .

    Faut que je trouve une autre solution
    je vous en ferai pas dès que j'aurai trouver ^^

    Si quelqu'un en a une qu'il n'hésite pas

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 117
    Par défaut
    j'ai finalement a peut prêt réussi:

    Voila je donne mes codes si sa peut aider des gens :

    tableau.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <?php if ($autentification == true)include 'new_ligne.php'; ?>
     
     
    <?php include 'modif/gamme_citroene/page.php'; ?>
     
    <table id="Gamme_citroene" align="center" width="800" border="0">
      <tr>
        <th width="100/3" scope="col">Photo</th>
        <th width="100/3" scope="col">Nom</th>
        <th width="100/3" scope="col">Prix HT/TTC</th>
        <?php if ($autentification == true)echo "<th width='100/5' scope='col'>Modif</th>"?>
      </tr>
      <?php
    $idpagegc = $_REQUEST['idpagegc'];
    $premiereligne = ($idpagegc)*4;
    if ($autentification == true)echo "la première ligne est : $premiereligne ";
    $sql = 'SELECT * FROM gamme_citroene ORDER BY idgc DESC LIMIT '.$premiereligne. ',4';
    $resultat = mysql_query($sql);
    $nombre = null;
    while (($gamme_citroene = mysql_fetch_array($resultat)))
    {
    	//nombre
    	$nombre ++;
     
    	$idgc = $gamme_citroene['idgc'];
    	$image = $gamme_citroene['image'];
    	$nomgc = $gamme_citroene['nom'];
    	$descriptif = $gamme_citroene['descriptif'];
    	$prixht = $gamme_citroene ['prixht'];
    	$prixttc = $gamme_citroene ['prixttc'];
    	$liésongc = "index.php?loging=ok&idpage=$b2&login=$login&pw=$pw&button=ok&idgc=$idgc&idpagegc=$idpagegc";
        echo   "<tr>";
        echo   "<td> <p><img src='imagegc/$image' width='100%' height='150' /></p></td>";
        echo   "<td>";
        		echo "<p>Nom du produit : <span class='bleuf'>$nomgc</span> </p>";
        		echo "<hr>";
        		echo "<p>Descriptif : </p><span class='bleuf'>$descriptif</span>";
        echo "</td>";
        echo   "<td>";
        		echo "<p>Prix HT : $prixht €</p>";
        		echo "<p>Prix TTC : $prixttc €</p>";
        	if ($autentification == true)
        		echo   "<td id='modif' ><a href = '$liésongc'> modifer </a></td>";
        echo   "</td>";
    	echo   "</tr>";
     
    	if (($_REQUEST['idgc'] == $idgc)&&($autentification == true) ){
    		echo "<td id='modif'>";
    			echo "<form id='form1' name='form1' method='post' action='index.php?'>";
    			echo "<input type='hidden' name='loging' value='ok' />";
        		echo "<input type='hidden' name='idpage' value= $requet />";
        		echo "<input type='hidden' name='login' value=$login />";
      			echo "<input type='hidden' name='pw' value= $pw />";
      			echo "<input type='hidden' name='idgc' value= $idgc />";
     			echo "<input type='hidden' name='button' value='ok' />";
     			echo "<input type='hidden' name='idpagegc' value='$idpagegc' />";
     
     			echo "<p> ID : [$idgc] </p><input type='text' name='image' id='image' value='$image' />";
    		 echo "</td>";
     
    		echo "<td id='modif'>";
    			echo"<p><input type='text' name='nomgc' value='$nomgc' /></p>";
    			echo "<textarea name='descriptif' id='descriptif' cols='45' rows='5'>$descriptif</textarea>";
    		echo "</td>";
     
    		echo "<td id='modif'>";
    			echo "<p>Prix HT</p>";
    			echo "<p><input name='prixht' type='text' id='prixht' size='15' maxlength='15' value='$prixht' /></p>";
    			echo "<p>Prix TTC</p>";
    			echo "<input name='prixttc' type='text' id='prixttc' size='15' maxlength='15' value='$prixttc' />";
    		 echo "</td>";
     
    		echo "<td id='modif'>";
    			echo "<input type='submit' name='tableaugc' id='tableaugc' value='Enregister' />";
    			echo "<input type='submit' name='tableaugcs' id='tableaugc' value='suprimer' />";
    		 echo"</td>";
    	}
     
    }
    ?>
    </table>
    <?php include 'modif/gamme_citroene/page.php'; ?>
    page.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <?php
     
     
    $sql = "SELECT idgc FROM gamme_citroene ";
    $resultat = mysql_query($sql);
    $nb_idgc1 =mysql_num_rows($resultat);
     
    $nombre_page = $nb_idgc1 / 4 ;
    $nombre_page = ceil($nombre_page);
    echo "nombre de page = $nombre_page </br>";
    echo "<div align='center'>";
    $var1 = null;
    $numero_page = -1;
    do 
    {
    	$var1++;
    	$numero_page++;
    	if ($numero_page > 0){
    		if ($autentification == true)
    			echo "<a href='index.php?loging=ok&idpage=$b2&login=$login&pw=$pw&button=ok&idpagegc=$numero_page'>Page $numero_page  </a> / ";
    			else echo ("<a href='index.php?idpagegc=$numero_page&idpage=$b2'>Page $numero_page  </a> /  ");
    		} 
    }
    while ($var1 <= $nombre_page);
    echo "</div>";
    ?>
    new_supp_gc.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
     
    if ($_REQUEST['tableaugc'] == 'Enregister'){
    	$sql = "UPDATE gamme_citroene SET image = '".$_REQUEST['image']."'"."WHERE idgc = '".$_REQUEST['idgc']."'";
    	mysql_query($sql);	
    	$sql = "UPDATE gamme_citroene SET nom = '".$_REQUEST['nomgc']."'"."WHERE idgc = '".$_REQUEST['idgc']."'";
    	mysql_query($sql);	
    	$sql = "UPDATE gamme_citroene SET descriptif = '".$_REQUEST['descriptif']."'"."WHERE idgc = '".$_REQUEST['idgc']."'";
    	mysql_query($sql);	
    	$sql = "UPDATE gamme_citroene SET prixht = '".$_REQUEST['prixht']."'"."WHERE idgc = '".$_REQUEST['idgc']."'";
    	mysql_query($sql);	
    	$sql = "UPDATE gamme_citroene SET prixttc = '".$_REQUEST['prixttc']."'"."WHERE idgc = '".$_REQUEST['idgc']."'";
    	mysql_query($sql);
    }
     
    if ($_REQUEST['new_ligne'] == 'ok'){
    			$sql = " INSERT INTO gamme_citroene (nom, descriptif, prixht, prixttc, image)
    		VALUES ('vide','vide','vide','444','444')";
    		if (mysql_query($sql) != false)print "la ligne c'est enregitrè</br>";else print "Echec lors de la création de la ligne</br>";
    }
    $sql = "SELECT idgc FROM gamme_citroene ";
    	$resultat = mysql_query($sql);
    	$nb_idgc1 =mysql_num_rows($resultat);
     
    		echo "|||| il y a [$nb_idgc1] present ||||</br>";
     
    if ($_REQUEST['tableaugcs'] == 'suprimer'){
    		$sql = "DELETE FROM gamme_citroene WHERE idgc ='".$_REQUEST['idgc']."'";
    		if (mysql_query($sql) != false)print "la ligne ayant id [".$_REQUEST['idgc']."] a été suprimé </br>";else print "Echec lors de suprétion</br>";
    }
    ?>
    lien du teste : lien

    cepandent il reste un petit problème mathématique des page sinon lidée est la

    Vinc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL] Script d'affichage page par page
    Par x2thez dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/05/2006, 15h48
  2. [MySQL] Affichage page par page et requêtes du type $sql .=
    Par carelha dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/04/2006, 17h12
  3. [Tableaux] PB liens apres affichage page par page
    Par x2thez dans le forum Langage
    Réponses: 16
    Dernier message: 15/03/2006, 16h58
  4. [MySQL] afficher plusieurs enregistrements par page par page à la volée
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/03/2006, 12h22
  5. [struts] afficher page par page une liste d'élément
    Par BurningPat dans le forum Struts 1
    Réponses: 6
    Dernier message: 27/09/2005, 11h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo