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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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)

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