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 :

Probleme avec array_search()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut Probleme avec array_search()
    Bonjour a tous,

    Comme le titre de mon sujet l'indique j'utilisais la fonction array_search(), afin de retrouver une chaîne dans un tableaux, cette fonction retournais l'emplacement du l'élément dans le tableau si il étais trouvé ou sinon retournais "o" ou "false".

    Bref depuis peu elle me retourne constamment 'o' et ne rentre plus dans mon "if".

    Il faut savoir que ma chaîne est un mélange de chiffre et de lettre.

    J'ai bien vérifier que les chaîne étais identique, que les paramètre étais bien saisie, que mes variable n'étais pas nul, qu'il n'y avais pas d'espace glisser par une négligence lors de l’insertion dans le tableau.

    Rien je ne trouve pas. Je me dis que la fonction est peu être obsolète, mais php.net ne le précise pas et je ne trouve pas d'équivalent.

    Pouvez vous me fournir des information ou explication svp?

    Merci d'avance pour vos lumières.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    o ? (zéro tu veux dire ?)

  3. #3
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Bonjour,

    Il nous faudrait un peu de code pour pouvoir t'aider

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    Heu oui c'est fort possible désolé

    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
    if (isset($_SESSION['panier']))//si la session existe et n'est pas nul
    						{	//on recupere le tableau en cession et on l'incremente avec les variables get/post
    							$nb = $_SESSION['nb'];
    							$panier = $_SESSION['panier'];
     
    							echo "<script>
    									alert ('Session existe !!');
    									</script>";
    							print_r($panier);
    							echo "</br>mon produit".$id_prod."</br>";
     
    							$trouve = array_search($id_prod,$panier);
    							echo $trouve;
     
    							if($trouve != NULL)//si le produit existe deja 
    							{
    								echo "<script>
    									alert ('trouve !!');
    									</script>";
     
    								$tt_qte_com = $panier[$trouve+1] + $qte_command;
    								if($tt_qte_com <= $qte_stock['QUANTITE_PROD_STOCK'])//si la quantité général d'un produit doit etre <= au stock
    								{
    									$panier[$trouve+1] = $panier[$trouve+1] + $qte_command;
    								}
    								else//sinon on redirige
    								{
    									$selection = $qte_stock['QUANTITE_PROD_STOCK'] - $panier[$trouve+1];
     
    									if(isset($_GET['choix']))
    									{	$choix = mysql_real_escape_string($_GET['choix']);	}
    									else
    									{	$choix = 0;	}
     
    									$qte_prod_stock = $qte_stock['QUANTITE_PROD_STOCK'];
     
    									echo "<script>
    										alert ('Vous avez deja selectionné ".$panier[$trouve+1]." articles, et nous en avons que ".$qte_prod_stock." en stock. Vous pouvez selectionner que ".$selection." articles !! ');	
    										document.location.href='acceuil.php?choix=".$choix."'
    										</script>";
    								}
    							}
    Alors je situe le contexte il s'agit de la gestion d'un panier client ou ce code dois , si le client a déjà acheter un article et retourne en prendre alors je ne fais pas plusieurs ligne dans mon tableau je retrouve mon produit et je cumule la quantité.

  5. #5
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    $panier n'aurait pas les id produit en clé ?
    array_search() fait une recherche sur les valeurs et non les clés.
    Utilises arra_key_exists() pour une telle recherche.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 432
    Par défaut
    j'ai fait un
    qui me retourne
    Array ( [0]=>"maReference"[1]=>"maQuantite" )

    J'ai tester votre idée avec array_key_exists(), mais cela ne fonctionne pas se qui me parait normal.

  7. #7
    Membre Expert
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 149
    Par défaut
    Bordélique ce panier...
    Comment peux-tu mettre plusieurs éléments dans le panier avec cette structure ?

Discussions similaires

  1. [Tableaux] Probleme avec la fonction array_search()
    Par Sarrus dans le forum Langage
    Réponses: 4
    Dernier message: 23/01/2007, 10h36
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 11h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 23h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 08h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 09/06/2002, 00h06

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