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 :

Répéter une donnée


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Par défaut Répéter une donnée
    Bonsoir,

    est ce qu'il est possible de réaliser une variable.

    j'ai un certain nombre de produits dans une table (products). quand j'ai 2 produits le title de l'achat est produit1|produit2

    si il y a 3 produits , le title devient produit1|produit2|produit3

    etc....

    pour séparer les titles j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $title = preg_split('/\|/', $itemname, -1 , PREG_SPLIT_NO_EMPTY);
    et j'utilise $title[0] pour le titre du produit 1 , puis $title[1] pour le titre du produit 2 mais pour 3 ou plus de produits je ne sais pas comment faire.

    est ce que c'est possible de mettre une variable avoir cette fonction en dynamic ?


    cordialement grazianno.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 57
    Par défaut
    Ciao grazianno,
    Si je comprends bien tu veux séparer des éléments d'un titre par des barres verticales. J'ai une solution très simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // récupères tes titres dans un tableau
    $ar_title = array('0'=>"titre1", '1'=>"titre2", '2'=>"titre3", '3'=>"titre4");
    // il est pas beau mon séparateur
    $s = '';
    // on parcours le tableau quelque soit sa longueur
    foreach($ar_title as $key=>$value){
    	$itemname .= $s.$ar_title[$key];
    	$s = ' | ';
    }
    echo $itemname;

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Par défaut
    merci pour ta réponse,

    actuellement j'ai un script qui génère les titres des produits dans une seule colonne ,

    titre1|titre2|titre3 etc... et une autre colonne donne la valeur du nombre de produit ( titre )

    exemple 5 produit -> p1|p2|p3|p4|p5

    je veux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $title = preg_split('/\|/', $itemname, -1 , PREG_SPLIT_NO_EMPTY);
    pour $i ( quelque soit la valeur dans la colonne du nombre de produits ).


    ainsi je peux récupérer le titre dans la colone quelque soit le nombre de titres...

    cordialement grazianno.

  4. #4
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Par défaut
    voici la table , 5 produits donc 5 titres , je souhaite les séparés en utilisant une condition qui soit dynamic , cad pour n'importe quel nombre de produit.

    Nom : sc.JPG
Affichages : 50
Taille : 14,3 Ko

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 57
    Par défaut
    Peux tu montrer un peu plus de code car je comprends pas très bien le problème ?

  6. #6
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Par défaut
    voici le code c'est just pour deux produits, et je veux le mettre dynamic pour plusieurs produits, avec preg_split je peux avoir les deux titres $title[0] et $title[1]

    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
    <?php
     
    if(isset($_GET['orderno'])){
    	$orderno = $_GET['orderno'];
    }
     
     
    $pt_sql = mysql_query("SELECT * FROM orders where orderno='$orderno' ");
     
    if (mysql_num_rows($pt_sql) >0)
    {
     
    while($pt_get=mysql_fetch_array($pt_sql))
    {
     
     
    $g_orderno = $pt_get['orderno'];
    $itemname = $pt_get['itemname'];
     
    $title = preg_split('/\|/', $itemname, -1 , PREG_SPLIT_NO_EMPTY);
     
     
    if ( $title[1] == "" ) { 
    	echo "<a href='contract.php?orderno=$g_orderno' target='_blank'><strong>Contract</strong></a> for <i>$title[0]</i>"; 
    	} elseif ( $title[0] == $title[1] ) {
    		echo "<a href='contract.php?orderno=$g_orderno' target='_blank'><strong>Contract</strong></a> for <i>$title[0]</i>"; 
    		} else { echo "<a href='contract.php?orderno=$g_orderno' target='_blank'><strong>Contract</strong></a> for <i>$title[0]</i><br /><br />";
    			echo "<a href='contract2.php?orderno=$g_orderno' target='_blank'><strong>Contract</strong></a> for <i>$title[1]</i>";
    					}
    }
    //cas où il ya des résultats : traitement
    } else {
    echo 'There are no contracts available for download for your order.';
    }
    mysql_close();
    ?>

  7. #7
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Par défaut
    si le second titre est vide , alors le client reçoit le contrat du premier produit seuelement.

    si le second titre est semblable au premier , le client reçoit un seul contrat.

    si le premier et le second titre sont différent , alors le client reçoit deux contrats.

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

Discussions similaires

  1. [XL-2003] Répéter des données en fonction d'une valeur
    Par Korsa dans le forum Excel
    Réponses: 3
    Dernier message: 31/03/2011, 11h32
  2. Réponses: 4
    Dernier message: 11/06/2004, 17h27
  3. tronquer une donnée
    Par closo dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/02/2004, 16h42
  4. Première occurence d'une donnée
    Par bob33 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/06/2003, 14h50
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 10h24

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