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 :

[Tableaux] comment doit-je modifier mon code


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut [Tableaux] comment doit-je modifier mon code
    Avent toute chose bonjour a tous


    mon code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php																		
    	session_start();
    	$card=$_SESSION['card'];
    	$tablo_grant=$_SESSION['tablo_grant'];
     
    	echo "mapa SANITARIO<br />";
    	echo "Pais :<br />";
     
    	include("connec_bdd.php");
    	$requete = "select PAI_CODIGO,PAI_NOMBRE from san_paises order by PAI_CODIGO,PAI_NOMBRE";
    	$stmt=ociparse($connexion, $requete);
    	ociexecute($stmt);
    	$i=0;
    	while(ocifetch($stmt))
    	{
    		$tablo_paises_codigo[$i]=ociresult($stmt,"PAI_CODIGO");
    		$tablo_paises_nombre[$i]=ociresult($stmt,"PAI_NOMBRE")."<br />";
    		$i++;
     
    	}
    	echo "hay $i paises<br />";
    	$id=0;
    	$j=0;
    	while ($id<15)
    	{
    		echo "<a href='datos_paises.php?paises_codigo=".$tablo_paises_codigo[$j]."'>".$tablo_paises_codigo[$j]."\n".$tablo_paises_nombre[$j]."</a><br />";
    		$id++;
    		$j++;
    	}
    ?>

    il sert a stocker dans 2 tableaux tous les code et nom de pays de ma base de donnée(il y en a 245 différent).
    je n'affiche que les 15 premiere ligne par soucis de visibiliter.

    se que je voudrais faire c'est rajouter en bas de ma page 2 lien qui permetre de faire afficher les 15 suivant ou les 15 precedent mais je n'est absolument ocune idée de comment sa pe se faire

    quelqu'un peut m'aider????

  2. #2
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 039
    Points
    6 039
    Par défaut
    Si tu es sous mysql tu peux utilisé la fonction LIMIT. Il y a un excellent article dans la section php t'expliquant cela.
    http://antoine-herault.developpez.co...atique-en-php/
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    desolé c'est ma faute j'ai oublier de preciser que j'aiter avec oracle

    mais merci qu'en meme

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    D'apres notre ami google "l'equivalent" de limit sour Oracle est NUMROW :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table WHERE ROWNUM<=10

    par exemple , voila tu peux suivre le tuto maintenant
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    juste une question sur ce tuto

    ma base de donner et constituer pour la table pays de 2 colone (cod et nom)
    ma table doit-elle etre modifier pour utiliser se tuto ou non?
    pasque je compren pa tous se qu'il fait

  6. #6
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 039
    Points
    6 039
    Par défaut
    non ta table n'a pas a être modifié mise à part peut être un champs afin d'y mettre une clé primaire mais a toi de voir si c'est utile ou non.
    Tu as juste à modifier la requête en y ajoutant LIMIT xxx, yyy
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  7. #7
    Membre confirmé Avatar de mathieugamin
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 572
    Points : 627
    Points
    627
    Par défaut
    Regarde la : sur cette page

    GAMIN !!!!
    _______________________________________________
    PHP 5.2 | Apache 2 | MySQL 5 | WinXP Pro | Mac OSX

  8. #8
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    je me suis fait un petit mixmax des info que j'ai put trouver grace a vaux lien

    je ne peut pas toucher a la base de donnée je n'y est pour linstent pas access (je doit faire mais preuve) donc si vous voulais voir se que sa donne c'est par ici

    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
     
    <?php																		
    	session_start();
    	$card_grant=$_SESSION['card'];
    	$tablo_grant=$_SESSION['tablo_grant'];
     
    	echo "mapa SANITARIO<br />";
    	echo "Pais :<br />";
     
    	include("connec_bdd.php");
    	$requete = "select PAI_CODIGO,PAI_NOMBRE from san_paises order by PAI_CODIGO,PAI_NOMBRE";
    	$stmt=ociparse($connexion, $requete);
    	ociexecute($stmt);
    	$nb_pais=0;
    	while(ocifetch($stmt))
    	{
    		$tablo_paises_codigo[$nb_pais]=ociresult($stmt,"PAI_CODIGO");
    		$tablo_paises_nombre[$nb_pais]=ociresult($stmt,"PAI_NOMBRE")."<br />";
    		$nb_pais++;
    	}
    	echo "hay $nb_pais paises<br />";
     
    	$nb_page_pais=ceil($nb_pais/20);
    	echo "Nb page: $nb_page_pais<br />";
     
    	if(isset($_GET['page_pais']))
    	{
    		$page_courante=intval($_GET['page_pais']);
    		if ($page_courante>$nb_page_pais)
    		{
    			$page_courante=$nb_page_pais;
    		}
    		if ($page_courante<1)
    		{
    			$page_courante=1;
    		}
    	}
    	else
    	{
    		$page_courante=1;
    	}
     
    	echo "page courente: $page_courante<br />";
     
    	switch ($page_courante)
    	{
    		case 1 :$j=0;
    		break;
    		case 2 :$j=20;
    		break;
    		case 3 :$j=40;
    		break;
    		case 4 :$j=60;
    		break;
    		case 5 :$j=80;
    		break;
    		case 6 :$j=100;
    		break;
    		case 7 :$j=120;
    		break;
    		case 8 :$j=140;
    		break;
    		case 9 :$j=160;
    		break;
    		case 10 :$j=180;
    		break;
    		case 11 :$j=200;
    		break;
    		case 12 :$j=220;
    		break;
    		case 13 :$j=240;
    		break;
    	}
     
    	$id=0;
    	while ($id<20 && $j<=$nb_pais)
    	{
    		echo "<a href='datos_paises.php?paises_codigo=".$tablo_paises_codigo[$j]."'>".$tablo_paises_codigo[$j]."\n".$tablo_paises_nombre[$j]."<br />";
    		$id++;
    		$j++;
    	}
    	echo "<br />";
    	echo "<br />";
    	echo "Liste des page :<br />";
    	for ($i=1;$i<=$nb_page_pais;$i++)
    	{
    		echo '<a href="pais.php?page_pais='.$i.'">'.$i.'</a> ';
    	}
     
    ?>
    par contre vous penser que c'est possible d'automatiser cette parti du code?
    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
     
    switch ($page_courante)
    	{
    		case 1 :$j=0;
    		break;
    		case 2 :$j=20;
    		break;
    		case 3 :$j=40;
    		break;
    		case 4 :$j=60;
    		break;
    		case 5 :$j=80;
    		break;
    		case 6 :$j=100;
    		break;
    		case 7 :$j=120;
    		break;
    		case 8 :$j=140;
    		break;
    		case 9 :$j=160;
    		break;
    		case 10 :$j=180;
    		break;
    		case 11 :$j=200;
    		break;
    		case 12 :$j=220;
    		break;
    		case 13 :$j=240;
    		break;
    	}
    pasque si par exemple une vaintaine de nouveau pays venait a naitre demain que sa puisse se faire tou seul se serait bien

  9. #9
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    par contre vous penser que c'est possible d'automatiser cette parti du code?
    La formule triviale c'est:

    $j = 20*($page_courante -1)

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Heu simplement $j = ($page_courante - 1) * 20 ?

    EDIT : owned
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  11. #11
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Points : 197
    Points
    197
    Par défaut
    merci

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

Discussions similaires

  1. Comment stocker ou optimisez mon code ?
    Par enibris dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/10/2007, 15h21
  2. Comment je peux modifier mon project tels que..
    Par zizo89 dans le forum Delphi
    Réponses: 3
    Dernier message: 07/05/2007, 13h03
  3. comment bloquer l'acces à mon code java
    Par developper2006 dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 06/02/2007, 14h33
  4. Qui modifie mon code PL?
    Par flonardi dans le forum Oracle
    Réponses: 3
    Dernier message: 31/05/2006, 10h44
  5. CSS comment puis-je modifier mon code pr avoir un bord blanc
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 30/09/2005, 20h19

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