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

Langage PHP Discussion :

migration de mysql vers pdo


Sujet :

Langage PHP

  1. #41
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Bon ça commence à avancer Evidemment faut faire attention, c'est déjà moyennement simple alors si tu fais en plus des erreurs d'inattention...

    Concernant l'utilisation de bindParam par rapport à bindValue je te laisse regarder la doc.

    La première "Lie un paramètre à un nom de variable spécifique" la seconde "Associe une valeur à un paramètre"

    Donc il serait possible d'utiliser bindParam en dehors de ta boucle comme ceci :

    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
    <?php
    // On récupère les 5 derniers billets
    $req = $bdd->query('SELECT post_id, post_title, post_content, DATE_FORMAT(post_date, \'%d/%m/%Y à %Hh%imin%ss\') AS date_fr FROM posts ORDER BY post_date DESC LIMIT 0, 5'); 
     
    $tab_donnees = $req->fetchAll();
    $req->closeCursor();  // Ferme le curseur, permettant à la requête -SQL!!- d'être de nouveau exécutée
     
    $req_com = $bdd->prepare('SELECT comment_author_name, comment_content, DATE_FORMAT(comment_date, \'%d/%m/%Y à %Hh%imin%ss\') AS comment_date_fr FROM comments WHERE comment_post_id = :postid ORDER BY comment_date');
     
    $req_com->bindParam('postid', $com_post_id);
     
    foreach($tab_donnees as $donnees) 
    {
    ?>
         	<div class="news">    
         		<h3>       
    	 			<?php 
    					echo htmlspecialchars($donnees['post_title']); // Convertit les caractères spéciaux en entités HTML, affichage du titre
    				?>
                <em>le <?php echo $donnees['date_fr']; ?> </em>    <!-- Date --> 
         		</h3>  
     
         		<p>    
    	 			<?php    
    	 				echo nl2br(htmlspecialchars($donnees['post_content'])); // Insère un retour à la ligne HTML à chaque nouvelle ligne, convertit les caractères spéciaux en entités HTML, affichage du contenu
    	 			?>    
         				<br />    
         				<em> <?php
     
    						// Récupération des commentaires
     
                                                    $com_post_id = $donnees['post_id']);
    						$req_com->execute();
    						$t_donnees = $req_com->fetchAll();
                                                    $req_com->closeCursor();	// Important : on libère le curseur pour la prochaine requête
    						foreach ($t_donnees as $sdonnees)	// Boucle
    						{
    						?>
    						<p><strong><?php echo htmlspecialchars($sdonnees['comment_author_name']); ?></strong> le <?php echo $sdonnees['comment_date_fr']; ?></strong></p>
    						<p><?php echo nl2br(htmlspecialchars($sdonnees['comment_content'])); ?></p>
    						<?php
    						} // Fin de la boucle des commentaires
     
    						?>
                        </em>    <!-- Commentaires -->
         		</p>
         	</div>  
    <?php
         } // Fin de la boucle
    ?>
    Ce devrait peut-être même être un poil plus rapide en théorie

  2. #42
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    En fait je ne comprenais (et comprends toujours) pas l'intérêt d'utiliser l'un plutôt que l'autre puisque pour moi ils font exactement la même chose.

    Je m'étais donc renseigné en farfouillant via google et j'étais tombé sur un forum où un gars qui semblait s'y connaître disait que bindParam étant plus universel que bindValue (d'un point de vue int, varchar, etc), il était préférable d'utiliser bindParam ; c'est pourquoi si tu relis mon topic depuis la page 1 (ça y est, on vient de passer en page 3 ), tu ne trouveras que des bindParam...

    (et je ne vois toujours pas la différence entre lier et associer)

  3. #43
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    bindParam : lie un paramètre à un nom de variable spécifique

    bindValue : associe une valeur à un paramètre
    Citation Envoyé par Black_Layer Voir le message
    ...et je ne vois toujours pas la différence entre lier et associer...
    Faut pas t'arrêter à ces termes là mais il faut prendre l'ensemble de la phrase.

    La différence c'est que $donnees['post_id'] n'est pas un nom de variable spécifique par contre cela correspond à une valeur et tu peux donc utiliser bindValue() directement avec cette valeur dans la boucle comme dans mon avant dernier exemple. Tu ne pourrais pas utiliser directement $donnees['post_id'] avec bindParam() dans ta boucle.

    Perso je préfère aussi utiliser bindParam() tant que possible. Dans mon dernier exemple tu vois qu'on fait le bindParam() une seule fois en associant le marqueur "postid" à la variable $com_post_id et qu'on défini cette variable $com_post_id ensuite juste avant $req_com->execute();.

    Tu ne pourrais pas faire l'équivalent avec bindValue() car il faut que la valeur existe quand tu utilise bindValue() et donc si tu essayais de remplacer bindParam() par bindValue() dans mon dernier exemple, cela te renverrait l'erreur "undefined variable..."

    Bref l'une et l'autre des méthodes ont des propriétés différentes qui, si on y réfléchi bien, peuvent se comprendre par leur énoncé

    Après, ceux qui veulent aller vite sans exploiter toutes les possibilités et sans se poser de questions préfèrent souvent passer un array dans le execute() (ce qui est aussi une manière d'éviter la question du bind).

  4. #44
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Ok là tu m'as pas mal éclairé sur bindParam et binValue.
    Ma préférence reste à bindParam ; l'utilisation me plaît plus.

    Citation Envoyé par ABCIWEB Voir le message
    Après, ceux qui veulent aller vite sans exploiter toutes les possibilités et sans se poser de questions préfèrent souvent passer un array dans le execute() (ce qui est une manière d'éviter la question du bind).
    Effectivement, une partie du code a été prise sur internet et l'auteur utilisait des array mais j'y suis allergique depuis ma plus tendre enfance...

    Bon j'avance bien. J'ai réussi "tout seul" à créer un calendrier en php (pas très compliqué), je vais maintenant y ajouter une gestion d'événements avec PDO... là je sens que je vais de nouveau galérer.

    Concernant la partie blogging aussi j'avance bien puisque j'ai maintenant les billets qui s'affichent et les commentaires en dessous comme je le voulais.
    Le soucis c'est que, pour des raisons esthétiques, si j'ai 100 commentaires pour un billet, je ne peux pas afficher les 100 commentaires d'une traite.
    J'aimerais donc faire un truc à la manière de facebook : affichage par défaut des 5 derniers commentaires, suivis d'un "lien" voir plus qui afficherait alors les 30 derniers commentaires sans recharger la page ni aller sur une autre page et ensuite, selon la faisabilité, soit un "lien" voir encore plus qui continuerait à afficher la suite dans le même état d'esprit, soit un lien "voir tous les commentaires" qui m'enverrait sur une page commentaires.php?id ...

    As-tu une idée de comment je pourrais réaliser ça ?

  5. #45
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Citation Envoyé par Black_Layer Voir le message
    Effectivement, une partie du code a été prise sur internet et l'auteur utilisait des array mais j'y suis allergique depuis ma plus tendre enfance...
    Oui enfin j'ai rectifié un peu la fin de mon message, je voulais dire que le passage d'un array dans le execute peut être aussi une manière d'éviter la question du bind. Pour dire que ce serait un peu dommage de n'utiliser systématiquement que cette méthode par facilité, par contre il serait fastidieux de ne pas l'employer quand on a des requêtes dynamiques avec par exemple un nombre de marqueurs indéterminés. Par ailleurs niveau performances on ne constatera éventuellement une différence que sur une boucle de plusieurs centaines ou milliers de requêtes, bref c'est le genre d'optimisation qu'on peut chercher à faire quand on fait par exemple un update sur toute une table, mais pour quelques requêtes on ne gagnera rien. Ce qui fait que dans la grande majorité des cas un array peut être employé sans problème, surtout quand on a suivi la recommandation de base pour la configuration de pdo qui est de désactivé l'émulatuer de requêtes préparées

    ...Et puis les tableaux sont quand même une base de la programmation php, si tu y es allergique faudra consulter car tu ne pourras pas y échapper bien longtemps et ça rend d'énormes services

    Pour le reste de tes questions ce n'est pas propre à l'utilisation de pdo mais plutôt de la méthodologie. Je te propose donc d'ouvrir un autre topic ce qui permettra à celui-ci de garder une certaine homogénéité.

    Pour ton "blogging" je te propose de consulter les tutos sur les systèmes de pagination php. Tu pourras ensuite coupler cela à du javascript pour faire de l'ajax. Tu trouveras donc ton bonheur avec les termes de recherche "pagination php ajax" et c'est aussi un titre que tu pourrais reprendre si par la suite tu as une question à poser sur le sujet.

    Sinon j'ai rien dit pour la démonstration, car cela te permettait de bien comprendre les requêtes préparées dans une boucle, mais dans ton cas tu aurais certainement avantage à faire une "jointure mysql" pour éviter ces multiples requêtes et ainsi ramener tous les résultats en une seule requête. Pour l'instant tu peux laisser comme ça et y penser plus tard, cela ne fait que cinq requêtes en plus, mais si tu voulais afficher beaucoup plus de post... ou si tu voulais optimiser pour avoir un maximum de visiteurs simultanés possibles avec le minimum de ressource serveur, ce serait une bonne piste à tester. Bon t'as le temps de voir venir hein, il serait peut être mieux de continuer ton projet avant de chercher à tout optimiser (si tu veux finir un jour), d'autant plus que l'utilisation d'une jointure t'obligeras probablement à pas mal de manipulations pour trier les résultats avec ces chers tableaux Enfin bref cela te donne juste une idée de plus pour ouvrir un autre topic sur le sujet des jointures quand tu auras le temps

  6. #46
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    surtout quand on a suivi la recommandation de base pour la configuration de pdo qui est de désactivé l'émulatuer de requêtes préparées
    Oui oui je l'ai mis dans mon fichier de connexion à ma bdd

    Citation Envoyé par ABCIWEB Voir le message
    ...Et puis les tableaux sont quand même une base de la programmation php, si tu y es allergique faudra consulter car tu ne pourras pas y échapper bien longtemps et ça rend d'énormes services
    Je les utilises ; par exemple dans mon calendrier pour le nom des jours je n'ai pas eu le choix ; mais quand je peux éviter je le fais

    Citation Envoyé par ABCIWEB Voir le message
    Pour le reste de tes questions ce n'est pas propre à l'utilisation de pdo mais plutôt de la méthodologie. Je te propose donc d'ouvrir un autre topic ce qui permettra à celui-ci de garder une certaine homogénéité.
    Jutement sans le savoir tu viens de répondre à ma question puisque je voulais savoir s'il y avait un moyen "purement" PDO.

    Citation Envoyé par ABCIWEB Voir le message
    Pour ton "blogging" je te propose de consulter les tutos sur les systèmes de pagination php. Tu pourras ensuite coupler cela à du javascript pour faire de l'ajax. Tu trouveras donc ton bonheur avec les termes de recherche "pagination php ajax" et c'est aussi un titre que tu pourrais reprendre si par la suite tu as une question à poser sur le sujet.
    Sous mes airs de débutant (ce que je suis avec PDO mais pas avec php), je connais la pagination.
    Ou du moins ce que je connais de la pagination c'est de "virtualiser" des pages dynamiquement ; ce que je ne veux pas puisque moi je veux juste modifier ma requête sql sans recharger la page.
    Et surtout je n'ai aucune envie d'utiliser javascript car après je vais perdre un temps fou à coder en double (1 version si javascript est activé chez le visiteur, 1 autre version si ce n'est pas le cas) !!
    Donc pas d'ajax pour le coup...

    En farfouillant sur le net, j'ai trouvé une technique qui consisterait à rafraîchir une div sans recharger toute la page...
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function actualiseimages(div_a_actualiser)
    {
    $("#div_a_actualiser").load("nom_de_la_page.php #div_a_actualiser");
    }
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete_images_bandeau="Select id, rubrique, titre, big from grosplanv3 where visible='oui' order by rand() limit 0,10";
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div align="center">
    <a href="#" onClick="actualiseimages(); return false;"><img src="img/refreshv2.png" border="0" title="Cliquez pour afficher d'autres images" /></a></div>

    Que penses-tu de cette méthode ? Est-ce une bonne idée ?

    Citation Envoyé par ABCIWEB Voir le message
    ...
    mais dans ton cas tu aurais certainement avantage à faire une "jointure mysql" pour éviter ces multiples requêtes et ainsi ramener tous les résultats en une seule requête. Pour l'instant tu peux laisser comme ça et y penser plus tard, cela ne fait que cinq requêtes en plus, mais si tu voulais afficher beaucoup plus de post... ou si tu voulais optimiser pour avoir un maximum de visiteurs simultanés possibles avec le minimum de ressource serveur, ce serait une bonne piste à tester.
    ...
    Enfin bref cela te donne juste une idée de plus pour ouvrir un autre topic sur le sujet des jointures quand tu auras le temps
    Depuis le tout début de ce topic, j'ai tenté de simplifier un maximum le code pour faire les tests nécessaires pour que ça fonctionne mais sache que mes requêtes sont beaucoup plus complexes et utilisent justement des jointures ; notamment inner join sur des clés primaires pour lier mes tables (exemple : récupérér le nom de l'auteur du commentaire via son id).
    Mais pour ne pas "compliquer" ce topic inutilement et aller "droit au but", j'ai volontairement simplifié mes requêtes.
    Dans le cas des commentaires, j'ai envisagé les jointures mais ce n'est pas possible techniquement.

    Citation Envoyé par ABCIWEB Voir le message
    Bon t'as le temps de voir venir hein, il serait peut être mieux de continuer ton projet avant de chercher à tout optimiser (si tu veux finir un jour)
    C'est clair que j'ai pris pas mal de retard et qu'il me reste un bon mois pour finir et j'en suis loin.
    Le problème aussi c'est qu'une fois "en prod", il faut quand même qu'il soit fonctionnel donc je ne peux pas négliger toute optimisation ; je dois parfois m'attarder sur certaines choses pour en faciliter d'autres.

  7. #47
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Si tu veux afficher d'autres informations que celles initialement affichées et sans recharger la page tu es obligé d'utiliser javascript (onClick c'est du javascript), il n'y a pas d'autres solutions. Mais niveau accessibilité maintenant tout le monde utilise javascript, donc à la limite c'est pas un drame d'en être dépendant. Ajax est par contre un peu problématique pour le référencement (c'est plus compliqué).

    La méthode que tu as trouvée est à la fois la plus simple (javascript basique) mais la moins efficace en termes de temps d'affichage pour le visiteur car tu dois charger par avance tout ce que tu veux afficher. En contre partie il n'y a aucun problème de référencement. Pour utiliser convenablement cette technique il faut donc limiter le nombre de commentaires et qu'ils ne soient pas trop longs... En fait on charge tout dans des div dont certaines sont cachées et on les fait afficher avec javascript. Ouvres un topic dans le forum javascript !

    Sinon pour ta jointure c'est théoriquement possible puisque tes requêtes imbriquées se basent pour la clause where sur un champ de ta requête principale. Un LEFT JOIN devrait donc être possible. Mais bon le résultat ne sera pas forcément simple à trier et ce ne serait peut être pas très rentable en termes de performances à cause des doublons (faudrait faire des bench pour vraiment voir la différence). C'est pour cela que je disais que c'est une piste à explorer peut être plus tard en cas de besoin

  8. #48
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Et y'a vraiment aucun moyen sans javascript ni ajax (juste php) ?

  9. #49
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Ben si mais dans ce cas il faut faire recharger la page et cela revient à faire une pagination en php si tu ne veux pas afficher tous les commentaires d'un seul coup. D'ailleurs en ajax ce serait le même code php sauf que les requêtes sont envoyées et lues par javascript.

    Donc tu peux commencer par faire ton code php basique et faire fonctionner l'affichage des paragraphes par rechargement de page (php classique) dans un premier temps.

    Et dans un deuxième temps quand tu voudras peaufiner pour un affichage sans rechargement de la page, tu pourras faire une couche ajax par dessus en te servant du code php déjà fait mais que tu externaliseras. Cela demande des connaissances en javascript, pas mal en html et css, et pour plus de facilité de connaître une lib javascript comme par exemple jquery. Si tu n'y connais rien ça va te prendre pas mal de temps... Mais je te conseille quand même cette solution quitte à différer ce travail, plutôt que ta première solution javascript qui sera forcément limitée et pas optimisée du tout si tu veux faire afficher de nombreux commentaires.
    En d'autres termes, la solution ajax est pérenne et évolutive alors que tôt ou tard ou à moins de changer le fonctionnement initial que tu voulais avoir, il te faudra abandonner la solution javascript "simple" qui consiste à masquer/afficher des div.

  10. #50
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    et si j'utilises la propriété "visibility" de css ?

    Ce ne serait pas plus simple et tout aussi efficace (dans un premier temps) ?

  11. #51
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Pour changer la propriété de visibility faudra utiliser javascript, c'est le même principe que la première méthode que tu as trouvée et donc les mêmes inconvénients.
    Cherche pas autre chose on a fait le tour de la question ! Et il n'y a pas de quatrième solution. Tu as les deux solutions avec javascript /php dont une facile à mettre en place mais pas optimisée et surtout peu évolutive, et une troisième uniquement php. Un point c'est tout

  12. #52
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    Tu en es sûr ?

    Parce que j'ai un menu avec sous-menus "cachés" par défaut et ils apparaissent sans javascript

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #menug ul li ul {
     display:none; /*cache les sous-items*/
     }
    #menug  li:hover ul {
     display:block; /* contrecare le display:none précédent et avec block pour succession des éléments les uns sous les autres (et pas sur une même ligne)  */
     }

    On pourrait donc imaginer travailler de la même façon sur la propriété active d'un lien (<a>lien</a>) qui est activé, c'est à dire lorsque l'internaute clique sur le lien avec sa souris.

    Non ?

  13. #53
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Tu n'iras pas bien loin avec Css, les interactions avec l'utilisateur sont très limitées. Cela c'est amélioré avec HTML5 mais finalement tu obtiendrais quelque chose de peu ergonomique et compatible uniquement avec les nouveaux navigateurs.
    Quand je te dis que la première solution javascript est facile, elle l'est vraiment. Plutôt que de perdre ton temps à l'éviter, tu aurais déjà terminé sa mise en place pour ton application si tu avais cherché dans cette direction.

  14. #54
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    J'ai trouvé ça (à adapter à mon code), qu'en penses-tu ?

    Code php : 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
     
    <?php
     
    // Numero de page (1 par défaut)
    if( isset($_GET['page']) && is_numeric($_GET['page']) )
    	$page = $_GET['page'];
    else
    	$page = 1;
     
    // Nombre d'info par page
    $pagination = 10;
    // Numéro du 1er enregistrement à lire
    $limit_start = ($page - 1) * $pagination;
     
    // Préparation de la requête
    $sql = "SELECT * FROM table LIMIT $limit_start, $pagination";
     
    // Requête SQL
    $resultat = mysql_query($sql);
     
    // Traitement et affichage des données
    while ( $donnee = mysql_fetch_assoc($resultat) ) {
     
    	/* ICI VOTRE CODE NORMAL */
    	/* Affichage d'un élément */
     
    }
     
    // Nb d'enregistrement total
    $nb_total = mysql_query('SELECT COUNT(*) AS nb_total FROM table');
    $nb_total = mysql_fetch_array($nb_total);
    $nb_total = $nb_total['nb_total'];
     
    // Pagination
    $nb_pages = ceil($nb_total / $pagination);
     
    echo '<p>[ Page :';
    // Boucle sur les pages
    for ($i = 1 ; $i <= $nb_pages ; $i++) {
    	if ($i == $page )
    		echo " $i";
    	else
    		echo " <a href=\"?page=$i\">$i</a> ";
    }
    echo ' ]</p>';
     
    ?>

  15. #55
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    J'en pense que ce n'est plus le sujet original de notre discussion et que tu devrais ouvrir un autre sujet...

  16. #56
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Points : 10
    Points
    10
    Par défaut
    J'essaye toujours d'adapter du code MySQL à PDO...

    En plus, mes autres topics n'obtiennent pas grand succès !

Discussions similaires

  1. migration de mysql vers postgresql
    Par ANISSS dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 18/05/2007, 15h19
  2. Réponses: 3
    Dernier message: 08/03/2007, 10h53
  3. Migration de Mysql vers Sql Server
    Par bluecurve dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/02/2007, 00h21
  4. Re besoin de vous pour migration de mysql vers dsl server
    Par scaleo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/11/2006, 13h45
  5. [SGBD] Migration de mysql vers PostgreSQL ?
    Par haffouff dans le forum SQL Procédural
    Réponses: 12
    Dernier message: 25/05/2006, 15h29

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