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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Mise en page et affichage multi-pages


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut Mise en page et affichage multi-pages
    Bonjour,

    Débutant en php j'ai faut un script pour ajouté des données via un formulaire php, avec lui j'ai fait un autre script pour affiché mes données dans un tableau, et maintenant j'en essaye un troisième qui affiche et permet de modifié les valeurs via un formulaire.

    Dans le 1er visu.php, il m'affiche toutes mes données dans un tableau normalement, en 20 par 20.

    De la j'ai créer un visu2.php (pour testé) qui permet de faire la même chose avec en plus la possibilité de modifié les données via un formulaire, celui ci fonctionne tres bien au niveau des modif, mais il m'affiche un tableau par ligne

    Apres pas mal de recherche et de bidouille je ne sais plus trop quoi faire donc je demande votre aide.

    Merci a vous :


    Voici le code du visu.php qui me pose probleme et qui affiche :

    Nom du Client | Ville |Date | Interv. | Modifie
    Nom1 | Ville1 | Date 1 | Interv1 | Modifier

    Nom du Client | Ville |Date | Interv. | Modifie
    Nom2 | Ville2 | Date2 | Interv3 | Modifier

    Nom du Client | Ville |Date | Interv. | Modifie
    Nom3 | Ville3 | Date3 | Interv3 | Modifier
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
     
    <?php
    function barre_navigation ($nb_total,
    		$nb_affichage_par_page,
    		$debut,
    		$nb_liens_dans_la_barre) {
     
    	$barre = '';
     
    	// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
    	if ($_SERVER['QUERY_STRING'] == "") {
    		$query = $_SERVER['PHP_SELF'].'?debut=';
    	}
    	else {
    		$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
    		$nb_element = count ($tableau);
    		if ($nb_element == 1) {
    			$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
    		}
    		else {
    			if ($tableau[0] == "") {
    				$query = $_SERVER['PHP_SELF'].'?debut=';
    			}
    			else {
    				$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
    			}
    		}
    	}
     
    	// on calcul le numéro de la page active
    	$page_active = floor(($debut/$nb_affichage_par_page)+1);
    	// on calcul le nombre de pages total que va prendre notre affichage
    	$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);
     
    	// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
    	// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
    	if ($nb_liens_dans_la_barre%2==0) {
    		$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
    		$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
    	}
    	else {
    		$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
    		$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
    	}
     
    	if ($cpt_deb1 <= 1) {
    		$cpt_deb = 1;
    		$cpt_fin = $nb_liens_dans_la_barre;
    	}
    	elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
    		$cpt_deb = $cpt_deb1;
    		$cpt_fin = $cpt_fin1;
    	}
    	else {
    		$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
    		$cpt_fin = $nb_pages_total;
    	}
     
    	if ($nb_pages_total <= $nb_liens_dans_la_barre) {
    		$cpt_deb=1;
    		$cpt_fin=$nb_pages_total;
    	}
     
    	// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
    	if ($cpt_deb != 1) {
    		$cible = $query.(0);
    		$lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;&nbsp;';
    	}
    	else {
    		$lien='';
    	}
    	$barre .= $lien;
     
    	// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
    	for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
    		if ($cpt == $page_active) {
    			if ($cpt == $nb_pages_total) {
    				$barre .= $cpt;
    			}
    			else {
    				$barre .= $cpt.'&nbsp;-&nbsp;';
    			}
    		}
    		else {
    			if ($cpt == $cpt_fin) {
    				$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
    				$barre .= "'>".$cpt."</A>";
    			}
    			else {
     
    				$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
    				$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
    			}
    		}
    	}
     
    	$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
    	if (($nb_total % $nb_affichage_par_page) == 0) {
    		$fin = $fin - $nb_affichage_par_page;
    	}
     
    		// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
    	if ($cpt_fin != $nb_pages_total) {
    		$cible = $query.$fin;
    		$lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';
    	}
    	else {
    		$lien='';
    	}
    	$barre .= $lien;
     
    	return $barre;
    }
    ?>
     
    <html>
    <head>
    <title>Liste des interventions de *****</title>
    </head>
     
    </body>
    <strong>Liste des interventions de ****** :</strong><br />
    <br />
     
     
    <?php
    // on se connecte à notre base
    include 'conf.php'; 
     
    // on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
    $sql = 'SELECT count(*) FROM client';
     
    // on exécute cette requête
    $resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    // on récupère le nombre d'éléments à afficher
    $nb_total = mysql_fetch_array($resultat);
     
    // on teste si ce nombre de vaut pas 0
    if (($nb_total = $nb_total[0]) == 0) {
    echo 'Aucune réponse trouvée';
    }
    else {
     
     
    // sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
    if (!isset($_GET['debut'])) $_GET['debut'] = 0;
     
    	$nb_affichage_par_page = 20;
     
    // Préparation de la requête avec le LIMIT
    $sql = 'SELECT * FROM client ORDER BY id ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
     
    // on exécute la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
     
     
     
        //connection au serveur:
        $cnx = mysql_connect( "localhost", "root", "" ) ;
     
        //sélection de la base de données:
        $db = mysql_select_db( "dp49" ) ;
     
        //requête SQL:
        $sql = "SELECT * FROM client ORDER BY id" ;
     
        //exécution de la requête:
        $requete = mysql_query( $sql, $cnx ) ;
     
        //affichage des données:
        while( $result = mysql_fetch_object( $requete ) )
        {
     
    		echo("<table bgcolor=\"#FFFFFF\">") ;
    echo("<tr>") ; 
    		echo("<td bgcolor=\"#E0D59F\"><b><u>Nom du Client</u></b></td>") ; 
            echo("<td bgcolor=\"#E0D59F\"><b><u>Ville</u></b></td>") ; 
    		echo("<td bgcolor=\"#E0D59F\"><b><u>Date Interv.</u></b></td>") ; 
    		echo("<td bgcolor=\"#E0D59F\"><b><u>Modifier</u></b></td>") ;
    echo("</tr>") ;
     
    echo("<tr>") ;
     
           echo("<div align=\"center\"><td>".$result->nom." ".$result->prenom."</td>") ;
    	   echo("<div align=\"center\"><td>".$result->ville."</td>") ;
    	   echo("<div align=\"center\"><td>".$result->date."</td>") ;
    	   echo("<div align=\"center\"><td><a href=\"pages/modification2.php?id=".$result->id."\">modifier</a></td>") ;
     
    echo("</tr>") ;
     
    echo("</table>") ;
        }
     
     
    	// on affiche enfin notre barre
    	echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
    }
    // on libère l'espace mémoire alloué pour cette requête
    mysql_free_result ($resultat);
    // on ferme la connexion à la base de données.
    mysql_close ();
    echo '</table><br />';
    ?>
     
    </body>
    </html>
    Si vous avez des suggestion concernant le nettoyage de mon code allez y aussi je suis a votre ecoute , j'ai modifié pas mal de tuto et donc il y a des truc etrange que je n'arrive pas a modifié comme la conexion un coup par le fichier config et l'autre en direct vie le fichier visu.php.

    Encore merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 71
    Points : 17
    Points
    17
    Par défaut
    Re ,
    Malgré la bêtise de l'erreur je n'arrive toujours pas à trouvé ou ma faute, si quelqu'un a une idée

    Merci à lui

    PS: je suis tyler94 j'ai fait une erreur de login je ne pensais pas avoir uu autre compte désolé

  3. #3
    Invité
    Invité(e)
    Par défaut
    Essaie comme ca :
    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
    <?php
    	//affichage des données:
    	echo '
    		<table bgcolor="#FFFFFF">
    			<tr>
    				<td bgcolor="#E0D59F"><b><u>Nom du Client</u></b></td>
    				<td bgcolor="#E0D59F"><b><u>Ville</u></b></td>
    				<td bgcolor="#E0D59F"><b><u>Date Interv.</u></b></td>
    				<td bgcolor="#E0D59F"><b><u>Modifier</u></b></td>
    			</tr>
    	';
        while( $result = mysql_fetch_object( $requete ) )
        {
     
    	echo '
    			<tr>
    				<td align="center">'.$result->nom.' '.$result->prenom.'</td>
    				<td align="center">'.$result->ville.'</td>
    				<td align="center">'.$result->date.'</td>
    				<td align="center"><a href="pages/modification2.php?id='.$result->id.'">modifier</a></td>
    			</tr>
    	';
        }
    	echo '</table>';
    ?>
    Note : garde les " " pour le html, et les ' ' pour php

  4. #4
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Ba me## alors ça fonctionne la , content et dégouté a la fois je dirais

    Un grand merci à toi

  5. #5
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    J'en profite pour demandé autre chose :

    Dans ce tableau il y a un lien pour faire des modifications.

    actuellement celui ci est se présente comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="pages/modification2.php?id='.$result->id.'">modifier</a>
    J'aimerai que cette partie s'ouvre en pop up, j'ai essayé d'inclure cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="window.open(ICI MA PAGE.PHP','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width=250, height=400');return(false)"> [Modifier]</a>
    Mais impossible que cela fonctionne

  6. #6
    Invité
    Invité(e)
    Par défaut
    Comme tu es dans un echo '...'; (php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    echo '
    //...
    <a href="#" onclick="window.open(\'pages/modification2.php?id='.$result->id.'\',\'_blank\',\'toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width=250, height=400\');return(false)">Modifier</a>
    //...
    ';
    ?>
    Note : dans un echo '...'; (php), tu "échappes" les apostrophes par \' :
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo 'C\'est l\'été !'; ?>
    Idem pour les apostrophes dans du code javascript (comme dans ton cas)

  7. #7
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Merci a toi (encore)

    Pourtant j'avais essayé cela je comprend pas j'ai du oublié un slash ou une bêtise du genre, imbécile je suis

    Je te remercie

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par tyler94 Voir le message
    j'ai du oublié un slash ou une bêtise du genre, imbécile je suis
    "Reconnaitre ses erreurs est déjà un signe d'intelligence"

  9. #9
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Je les reconnais la dessus pas de problèmes .

    Par contre j'ai un autre souci, en faite ce tableau la ne fonctionne pas comme il devrais je comprend pas pourquoi la , il m'affiche toutes mes données en creant pleins de pages alors que je lui demande 5 par page.

    Deux doigt de pété un câble sur ce coup la lol

    Merci

    Voila le code modifié que j'utilise :
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
     
    <?php
    function barre_navigation ($nb_total,
    		$nb_affichage_par_page,
    		$debut,
    		$nb_liens_dans_la_barre) {
     
    	$barre = '';
     
    	// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
    	if ($_SERVER['QUERY_STRING'] == "") {
    		$query = $_SERVER['PHP_SELF'].'?debut=';
    	}
    	else {
    		$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
    		$nb_element = count ($tableau);
    		if ($nb_element == 1) {
    			$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
    		}
    		else {
    			if ($tableau[0] == "") {
    				$query = $_SERVER['PHP_SELF'].'?debut=';
    			}
    			else {
    				$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
    			}
    		}
    	}
     
    	// on calcul le numéro de la page active
    	$page_active = floor(($debut/$nb_affichage_par_page)+1);
    	// on calcul le nombre de pages total que va prendre notre affichage
    	$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);
     
    	// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
    	// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
    	if ($nb_liens_dans_la_barre%2==0) {
    		$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
    		$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
    	}
    	else {
    		$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
    		$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
    	}
     
    	if ($cpt_deb1 <= 1) {
    		$cpt_deb = 1;
    		$cpt_fin = $nb_liens_dans_la_barre;
    	}
    	elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
    		$cpt_deb = $cpt_deb1;
    		$cpt_fin = $cpt_fin1;
    	}
    	else {
    		$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
    		$cpt_fin = $nb_pages_total;
    	}
     
    	if ($nb_pages_total <= $nb_liens_dans_la_barre) {
    		$cpt_deb=1;
    		$cpt_fin=$nb_pages_total;
    	}
     
    	// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
    	if ($cpt_deb != 1) {
    		$cible = $query.(0);
    		$lien = '<A HREF="'.$cible.'">&lt;&lt;</A>&nbsp;&nbsp;';
    	}
    	else {
    		$lien='';
    	}
    	$barre .= $lien;
     
    	// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
    	for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
    		if ($cpt == $page_active) {
    			if ($cpt == $nb_pages_total) {
    				$barre .= $cpt;
    			}
    			else {
    				$barre .= $cpt.'&nbsp;-&nbsp;';
    			}
    		}
    		else {
    			if ($cpt == $cpt_fin) {
    				$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
    				$barre .= "'>".$cpt."</A>";
    			}
    			else {
     
    				$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
    				$barre .= "'>".$cpt."</A>&nbsp;-&nbsp;";
    			}
    		}
    	}
     
    	$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
    	if (($nb_total % $nb_affichage_par_page) == 0) {
    		$fin = $fin - $nb_affichage_par_page;
    	}
     
    		// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
    	if ($cpt_fin != $nb_pages_total) {
    		$cible = $query.$fin;
    		$lien = '&nbsp;&nbsp;<A HREF="'.$cible.'">&gt;&gt;</A>';
    	}
    	else {
    		$lien='';
    	}
    	$barre .= $lien;
     
    	return $barre;
    }
    ?>
     
    <html>
    <head>
    <title>.....</title>
    </body>
    <strong>................</strong><br />
    <br />
     
     
    <?php
    // on se connecte à notre base
    include 'conf.php'; 
     
    // on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
    $sql = 'SELECT count(*) FROM client';
     
    // on exécute cette requête
    $resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    // on récupère le nombre d'éléments à afficher
    $nb_total = mysql_fetch_array($resultat);
     
    // on teste si ce nombre de vaut pas 0
    if (($nb_total = $nb_total[0]) == 0) {
    echo 'Aucune réponse trouvée';
    }
    else {
     
     
    // sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
    if (!isset($_GET['debut'])) $_GET['debut'] = 0;
     
    	$nb_affichage_par_page = 5;
     
    // Préparation de la requête avec le LIMIT
    $sql = 'SELECT * FROM client ORDER BY id ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
     
    // on exécute la requête
    $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    //////////////////////////////////////////////////////////
     
     
        //connection au serveur:
        $cnx = mysql_connect( "localhost", "root", "" ) ;
     
        //sélection de la base de données:
        $db = mysql_select_db( "..." ) ;
     
        //requête SQL:
        $sql = "SELECT * FROM client ORDER BY id" ;
     
        //exécution de la requête:
        $requete = mysql_query( $sql, $cnx ) ;
     
        //affichage des données:
        while( $result = mysql_fetch_object( $requete ) )
        {
     
    			echo '
    		<table bgcolor="#FFFFFF" border="1" cellspacing="1">
    			<tr>
    				<td bgcolor="#E0D59F"><center><b><u>Nom du Client</u></b></center></td>
    				<td bgcolor="#E0D59F"><center><b><u>Ville</u></b></center></td>
    				<td bgcolor="#E0D59F"><center><b><u>Date Interv.</u></b></center></td>
    				<td bgcolor="#E0D59F"><center><b><u>Modifier</u></b></center></td>
    			</tr>
    	';
        while( $result = mysql_fetch_object( $requete ) )
        {
     
    	echo '
    			<tr>
    				<td>'.$result->titre.' '.$result->nom.' '.$result->prenom.'</td>
    				<td>'.$result->ville.'</td>
    				<td>'.$result->date.'</td>
    				<td><a href="#" onclick="window.open(\'pages/modification2.php?id='.$result->id.'\',\'_blank\',\'toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width=500, height=500\');return(false)">Modifier</a></td>
    
    
    			</tr>
    	';
        }
    	echo '</table>';
        }
     
     
    //////////////////////////////////////////////////////////
     
     
     
    	// on affiche enfin notre barre
    	echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';
    }
    // on libère l'espace mémoire alloué pour cette requête
    mysql_free_result ($resultat);
    // on ferme la connexion à la base de données.
    mysql_close ();
    echo '</table><br />';
    ?>
     
    </body>
    </html>
    Je me suis inspiré de plusieurs tuto je pense que je me suis mélangé les pinceaux

    Merci

  10. #10
    Invité
    Invité(e)
    Par défaut
    Je n'ai pas regardé ton code de trop près ...

    As-tu une image de ce qu'il t'affiche ?

    ligne 137 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (($nb_total - $nb_total[0]) == 0) {
    ligne 157 : ENLEVER
    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
        //connection au serveur:
        $cnx = mysql_connect( "localhost", "root", "" ) ;
     
        //sélection de la base de données:
        $db = mysql_select_db( "******" ) ;
        //connection au serveur:
        $cnx = mysql_connect( "localhost", "root", "" ) ;
     
        //sélection de la base de données:
        $db = mysql_select_db( "depann49" ) ;
     
        //requête SQL:
        $sql = "SELECT * FROM client ORDER BY id" ;
     
        //exécution de la requête:
        $requete = mysql_query( $sql, $cnx ) ;
    car tu as déjà ligne 124 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // on se connecte à notre base
    include 'conf.php';
    et ligne 148
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Préparation de la requête avec le LIMIT
    $sql = 'SELECT * FROM client ORDER BY id ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
    C'EST LE SOUK LA-DEDANS !
    Dernière modification par Invité ; 12/05/2009 à 15h29.

  11. #11
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Je remplis ma et te fait une capture de suite.

    Voila :

    Page1 :


    Page2:


    Sachant que j'ai actuellement 15 enregistrements (de Nom1 à Nom15)et que je demande un affichage de 5 par 5.

    J'ai fait un script d'affichage traditionnel il fonctionne niquel, mais des que je fait du page par page avec ajout d'un champ modification ça délire comme ça

    Merci a toi de prendre du temps pour m'aider

  12. #12
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Re bonjour,
    J'ai recommencer 3/4 fois pour finalement tous effacé car a chaque fois toujours le même problème j'avoue de pas comprendre sur ce coup la ...

    @ plus et bonne nuit

  13. #13
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Préparation de la requête avec le LIMIT
    $sql = 'SELECT * FROM client ORDER BY id ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
    C'est CA, ta requete pour le page par page.
    Donc : enleve l'autre requete que tu fais après (a partir de la ligne 157)

  14. #14
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Merci mais comme dit d'un coup de colère j'ai tous effacés (au bout de la 4ieme tentative j'en ai eu raz le bol).

    Je retente demain on verra ce que cela donnera

    Merci a toi

  15. #15
    Invité
    Invité(e)
    Par défaut
    OK ! GOOD NIGHT !!

    Au fait ! J'ai fait CE TUTO :
    Affichage de données dans un tableau HTML
    http://j-reaux.developpez.com/tutori...-tableau-html/

    (avec 2 liens pour la pagination)

  16. #16
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Je te remercie je vais lire cela

    En faite mon problème c'est que je fait 3 tuto en 1 :
    - Affichage
    - Page par page
    - Modification

    Le problème doit venir de la d'où les requête et les cnx en double.

    Bonne nuit a toi

  17. #17
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    Bonjour

    Merci pour le tuto j'ai suivi celui ci http://antoine-herault.developpez.co...atique-en-php/ mais par contre toujours mon probleme de boucle avec mon tableau enfin ca avance

    Merci

    Edition: c'est bon j'ai enfin réussi comme quoi avec des tutos clair bravo a toi pour celui-ci

  18. #18
    Invité
    Invité(e)
    Par défaut
    En fait mon problème c'est que je fait 3 tutos en 1 :
    - Affichage - Page par page - Modification
    Comme quoi les cocktails font mal à la tête !



    Si tu as un autre souci (ou d'autre louanges !), n'hésite pas.

  19. #19
    Nouveau membre du Club Avatar de tyler94
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 126
    Points : 25
    Points
    25
    Par défaut
    houla malheureux lol oui en faite je réfléchit sur qlq chose, je t'explique,

    J'ai un formulaire avec deux boutons submit, 1 Pour l'exportation en PDF et un autre pour enregistrer les infos dans la base de donnée, je souhaiterais soit :
    - le submit "Valider" ouvre une nouvelle fenêtre
    ou
    - Un bouton et deux validations en même temps (validation et PDF)

    Code du formulaire seulement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="formulaire" method="post" action="" onsubmit="return testsubmit()">
    .............................
      <input type="button" value="Exporter en PDF" onclick="gopage('pdf.php')"  /> 
     
    <input type="button" value="Envoyer vers la base" onclick="gopage('valide_ajout.php')">

    Code complet de mon formulaire avec les deux submits :

    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Depann49 : Zone Admin</title>
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <link href="../style.css" rel="stylesheet" type="text/css" media="screen" />
    <script language="javascript">
    // fonction pour le cas d'appui sur la touche entrée
    function testsubmit() {
        return !!document.formulaire.action;
    }
     
    //fonction pour choisir l'action
    function gopage(page)
    {
        document.formulaire.action = page;
        document.formulaire.submit();
    }
    </script>
    	<link type="text/css" href="../js/theme/ui.all.css" rel="stylesheet" />
    	<script type="text/javascript" src="../js/jquery-1.3.2.js"></script>
    	<script type="text/javascript" src="../js/ui/ui.core.js"></script>
    	<script type="text/javascript" src="../js/ui/ui.datepicker.js"></script>
        <script type="text/javascript" src="../js/ui/i18n/ui.datepicker-fr.js"></script>
     
    	<script type="text/javascript">
    	$(function() {
    		$("#datepicker").datepicker();
    	});
    	</script>
    <?php
    ob_start ();
    ?>
     
    </head>
    <body>
    <?php
    /**
    *includes pour php5
    *
    */
     
    require_once '../js/ocity.cls.php';
    require_once '../js/oajax.cls.php';
     
     
    /**
    *includes pour php4
    *
    */
    /*
    require_once 'php4/ocity.cls.php';
    require_once 'php4/oajax.cls.php';
    */
     
    $ville = new ocity ('../js/data.dat');
    $ajax = new oajax;
    echo $ajax -> setHeader ();
    echo $ajax -> buildAjax ();
    echo $ajax -> search ();
    echo $ajax -> setFooter ();
     
    $sBuffer = ob_get_clean ();
    $bCheck = $ville -> getSearch ();
    ob_start ();
    ?>
    <div id="header">
    	<div id="logo">
    		<h1>depann49</h1>
    		<p>Zone Admin</a></p>
    	</div>
     
    	</div>
    	<!-- end #search -->
    </div>
    <!-- end #header -->
    <div id="menu">
    	<ul>
    		<li><a href="../index.php">ACCUEIL</a></li>
    		<li class="current_page_item"><a href="ajouter.php">Ajouter</a></li>
    		<li><a href="visualiser.php">Visualiser</a></li>
    		<li><a href="#">BIENTOT</a></li>
    		<li><a href="#">BIENTOT</a></li>
    		<li><a href="#">BIENTOT</a></li>
    	</ul>
    </div>
    <!-- end #menu -->
    <div id="page">
    	<div id="content">
    		<div class="post">
    			<h1 class="title"><a href="#">Ajouter une fiche d'intervention</a></h1>
    			<p class="meta">&nbsp;</p>
    		</div><form name="formulaire" method="post" action="" onsubmit="return testsubmit()">			  <p>
        <label>Titre 
          <select name="titre" id="titre">
            <option>Monsieur</option>
            <option>Madame</option>
            <option>Mademoiselle</option>
          </select>
          Nom
        </label>
        <label>
          <input name="nom" type="text" id="nom" />
          Pr&eacute;nom
        </label>
        <label>
          <input name="prenom" type="text" id="prenom" />
        </label>
      </p>
      <p>
        <label>Rue
          <input name="rue" type="text" id="rue" size="84" />
        </label>
      </p>
      <p>
        <label>Code Postal
          <input name="cpost" type="text" id="cpost" size="5" />
        </label>
        <label>Ville
          <input name="ville" type="text" id="ville" size="40" />
        </label>
      <a href="#" onclick="window.open('ville.php','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width=250, height=400');return(false)"> [Annuaire]</a></p>
      <p>T&eacute;l&eacute;phone : 
        <input name="tel" type="text" id="tel" size="10" />
       Email :
          <input name="email" type="text" id="email" size="50" />
      </p>
      <p><strong>INTERVENTION :</strong></p>
      <p>
        <label>Heure d'intervention :
          <input name="heure" type="text" id="heure" value="ex:15h30" /> 
        </label>
        <label>Date
         <input type="text" name="date" id="datepicker"> 
        </label>
      </p>
      <p><strong>Probleme(s) :</strong></p>
      <p>
        <label>
          <textarea name="inter" cols="70" rows="10" id="inter"></textarea>
        </label>
    </p>
      <p>&nbsp;</p>
    </form>
    <p>
      <input type="button" value="Exporter en PDF" onclick="gopage('pdf.php')"  /> 
     
    <input type="button" value="Envoyer vers la base" onclick="gopage('valide_ajout.php')">
    	</div>
    	<!-- end #content -->
    	<!-- end #sidebar -->
      <div style="clear: both;">&nbsp;</div>
    </div>
    <!-- end #page -->
    <div id="footer">
    	<p>&nbsp;</p>
    </div>
    <!-- end #footer -->
    </body>
    </html>

    Merci a toi

    PS: si tu as un tuto sur les infos sur Google map (un click sur un lien et recherche automatiquement l'adresse une fois saisie) et je recherche comment faire un agenda genre phpicalendar mais en relation avec mon formulaire et donc ma base.

  20. #20
    Invité
    Invité(e)
    Par défaut
    Tu souhaites que l'exportation en PDF et l'enregistrement dans la base de données se fassent toujours en meme temps ?

    Tu peux effectivement ne mettre qu'un bouton "submit".
    Ensuite, pour le traitement, une page "traitement" avec :
    - un module "enregistrement" dans la BD
    - un autre "création du PDF"
    (ca peut etre 2 fonctions mises en "include" dans le fichier de traitement)

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/02/2011, 17h12
  2. [XL-2007] Clic obligatoire pour afficher une page dans un multi page
    Par luko6 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2010, 18h12
  3. formulaire et affichage multi-pages
    Par lnikolanta dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2009, 03h04
  4. [MySQL] Affichage multi page
    Par gueud dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/02/2008, 09h47

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