Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/01/2011, 15h35   #1
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Par défaut Alternance de pages grâce à un while

Code :
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
<?php
include("includes/mysql_connect.php");
$tour = 1;
 
$sql = "SELECT DISTINCT bureau FROM resultats WHERE tour = 1";
$requete = mysql_query($sql, $cnx) or die(mysql_error());
while ($result = mysql_fetch_assoc($requete))
{
	$bureau_actuel = $result['bureau'];
	while ($temp < 4)
	{
		echo "<h1>Bureau #";
		echo $bureau_actuel;
		echo "</h1>";
 
		$temp = $_GET['temp'];
		if(empty($temp))
		{
		$temp = 1;
		}
 
		$sql2 = "SELECT type_affichage, temps FROM scenario WHERE tour = $tour AND representation = $temp";
 
		$requete2 = mysql_query($sql2, $cnx) or die(mysql_error());
		$result2 = mysql_fetch_assoc($requete2);
 
		$type_affichage = $result2['type_affichage'];
		$temps = $result2['temps'];
 
		// Partie affichage
		include(sprintf('%s.php', $type_affichage));	 
		header("Refresh: {$temps};");
		$temp++;
	}
}
?>
Voici mon code, et voici ce que je n'arrive pas à faire et que je souhaiterais faire : il faudrait que la page reste figée sur une page X donnée en include, pendant un temps Y. Une fois ce temps Y fini, on passe à la page X' pendant un temps Y', etc etc etc...........
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 16h13   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Bonjour déjà

Sans vouloir te vexer c'est purement n'importe quoi !
Ce que tu veux faire doit se faire avec Ajax.

Qu'est ce que tu essaie de faire concrètement ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 16h38   #3
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Je l'ai pourtant expliqué, dans le while le plus à l'intérieur vont ressortir tour après tour, donc 3 fois puisque c'est un while < 4, 3 solutions portant sur "type_affichage" et "temps".
Je souhaiterais afficher ces 3 solutions une à une. Tout d'abord il faudrait que la première solution affiche pendant un temps $temps (qui est de 6s) la page "type_affichage" qui est donc la page 1.php pour la première solution. Une fois ces 6 secondes passées, on passe donc à la deuxième solution, avec une autre page 2.php qui s'affiche, pendant 6 secondes aussi. Puis une fois ces 6 secondes écoulées, on passe à la troisième page 3.php, qui durera aussi 6 secondes, et Là, la boucle est finie.

See u :s ?!
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2011, 17h03   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Ce que tu essaie de faire n'est pas possible.
C'est le client, avec Ajax, qui doit implémenter ce comportement, pas le serveur.

PHP est incapable d'afficher une page pendant x secondes avant de passer à une autre page, bien qu'il soit possible de temporiser l'affichage pendant x secondes, les données de la page n+1 vont s'afficher en dessous de celles de la page n.
De plus, PHP à un temps d'éxécution maximum fixe (défini dans php.ini) au dela duquel il tombe et envoie une erreur.

Ce que tu veux faire s'implémente avec Javascript, coté client donc, qui lui peut toute les x secondes demander un rafraichissement de la page (ou tout simplement d'une partie du contenu), tu peux utiliser un paramètre à passer dans l'URL pour faire ça.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 01h08   #5
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Hmm ok, et as-tu à peu près l'idée de comment m'organiser en Js stp ?
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 09h40   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Désolé mais j'ai pas le temps de le faire pour toi.
Regarde des tutos par ici : http://docs.jquery.com/Tutorials
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 08h29   #7
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 706
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 706
Points : 3 274
Points : 3 274
Salut

Pour ma part, ce n'est pas obligatoire que ça se fasse en Ajax, je dirais qu'il faudrait voir la quantité de données totale que ça représente.

- S'il y a en beaucoup, sous entendu beaucoup trop pour tout récupérer d'un coup, là Ajax sera une excellente alternative/solution.

- Si la quantité de donnée n'est pas si énorme que ça (disons que cela ne va pas occasionner de surcharge du serveur et des longueurs pour les transmettre coté HTTP), et bien les récupérer de suite sera plus simple et léger à gérer par la suite.
Par la suite, du pure JS sera amplement suffisant.
Des codes JS genre diaporama foisonnent sur le Net, et si en plus on a déjà un FrameWork JS (genre jQuery, etc ...) ça sera d'autant plus simple.


Ne pas perdre de vu que de mettre un Ajax qui va requêter son propre serveur toutes les X secondes peut être un sacré problème, plus particulièrement si c'est un mutualisé.
Personnellement je perçoit ça un peu comme une ruche.
Disons qu'il me semble qu'il faut voir les choses d'un peu plus près.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 10h45   #8
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Citation:
Ne pas perdre de vu que de mettre un Ajax qui va requêter son propre serveur toutes les X secondes peut être un sacré problème, plus particulièrement si c'est un mutualisé.
Personnellement je perçoit ça un peu comme une ruche.
Disons qu'il me semble qu'il faut voir les choses d'un peu plus près.
Et on peut avoir ton idée pour implémenter le comportement qu'il veut autrement qu'avec Ajax ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 15h30   #9
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 706
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 706
Points : 3 274
Points : 3 274
Citation:
Envoyé par Benjamin Delespierre
Et on peut avoir ton idée pour implémenter le comportement qu'il veut autrement qu'avec Ajax ?
Les solutions ne manquent pourtant pas avant d'en arriver à faire de l'Ajax.


Si j'ai bien compris, le but est de faire tourner en boucle 3 pages selon une période.

- On peu donc très bien se baser sur un simple cookie qui enregistrerait les 3 pages en question, et en pure JS une petite fonction récupèrerait le cookie, et selon la page en cours, lancer la page suivante au bout de la période.

- Ou alors, on peu faire sensiblement la même chose en se basant sur les sessions.

- Mais encore, et c'est un peu ce que j'évoquais, au lieu de résonner en page (soit tourner sur 3 page), on peu résonner en terme de contenu.
En gros, ne peut on pas dire qu'il y aurait en faite qu'1 seule page dont une seule partie (ou 2, 3) serait à changer toutes les X secondes ?
C'est bien souvent le cas d'ailleurs.

Et bien si les contenus de cette même page ne sont pas si volumineux que ça, on peu tout renvoyer d'un coup, et avec un soupçon de Css (display : block/none) et une fonction pure JS de temporisation, on peu afficher juste une partie, et à chaque période masquer/démasquer les contenu tour à tour.
C'est ni plus ni moins que le même principe des diaporamas en JS qui foisonnent sur le Net.


Ca se peu qu'il y en ait d'autres de solutions si on cherche vraiment.
Bref ... l'Ajax à mon sens ne s'impose pas forcément.
Puis bombarder toutes les 10 secondes (à multiplier par le nombre de visiteurs) son propre serveur mutualisé de requêtes HTTP ... mouais ...
Je réfléchirais plutôt à 2 fois avant de me lancer, à titre perso.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 10h26   #10
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Je réexplique en gros mon souhait :

J'ai X bureaux qui affiche chacun 3 images différentes avec chacune un temps précis. Donc en gros je vais m'expliquer sous forme de lettres.
On a bureau1 = B1, image1 = IMG1.
Voici en gros le schéma :

B1_IMG1(6s) -> B1_IMG2(6s) -> B1_IMG3(6s) -> B2_IMG1(6s) -> B2_IMG2(6s)... etc

Avec le numéro de chaque bureau en dynamique, qui va ensuite chercher ses 3 images bien précises..
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h21   #11
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Citation:
On peu donc très bien se baser sur un simple cookie qui enregistrerait les 3 pages en question, et en pure JS une petite fonction récupèrerait le cookie, et selon la page en cours, lancer la page suivante au bout de la période.
Pour moi, à partir du moment ou tu mets du JS, pourquoi ne pas aller légèrement plus loin et d'implémenter ce comportement avec un méthodologie Ajax...

Il ne faut pas non plus perdre de vue qu'Ajax permet de limiter les échanges client/serveur sur les pages en forte demande et d'optimiser l'ergonomie générale du site.

Au final c'est vrai que ça revient au même.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 13h33   #12
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Une réponse à RunCodePhp :

Les diaporamas dynamiques à la limite ça pourrait se faire, le truc c'est qu'en fait au tout départ, avant l'affichage, il faudrait donc, si j'ai bien compris, que le code retienne (en cookie par exemple) le fait qu'il y aura par exemple 7 bureaux à afficher dans un ordre croissant, et donc pour chaque bureaux il y aura 3 images différentes à afficher.. Donc en gros il faudrait carrément avoir l'ordre défini des 21 images, avec pour chacune de ses images leur temps d'affichage unique.. Est-ce bien ça ?!

Citation:
En gros, ne peut on pas dire qu'il y aurait en faite qu'1 seule page dont une seule partie (ou 2, 3) serait à changer toutes les X secondes ?
Là je t'avouerais ne pas super bien comprendre ton arrière-pensée..
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 14h48   #13
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Du coup je recherche un système de diaporama dynamique où je pourrais avoir X images à afficher, avec pour chacune de ces images son temps unique..
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 15h26   #14
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 706
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 706
Points : 3 274
Points : 3 274
Citation:
Du coup je recherche un système de diaporama dynamique où je pourrais avoir X images à afficher, avec pour chacune de ces images son temps unique..
Tu saisie "diaporama javascript" (entre autre) dans Google ou autre tu en trouveras un sacré gros paquet, et de toutes sorte.

A ce jours, beaucoup sont fait avec des FrameWork JS, tel que jQuery, etc ...
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2011, 16h09   #15
Invité de passage
 
Inscription : juin 2010
Messages : 41
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 41
Points : 2
Points : 2
Ok merci, je vais me pencher là dessus : http://jquery.malsup.com/cycle/
drogbaaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h35.


 
 
 
 
Partenaires

Hébergement Web