Besoin d'aide en PHP pour ajouter char+entier

Résolu/Fermé
riders974 Messages postés 114 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 19 mai 2012 - 28 nov. 2007 à 21:57
riders974 Messages postés 114 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 19 mai 2012 - 29 nov. 2007 à 20:55
Bonjour,

il faut que vous m'aidiez, j'ai tout essayé et j'ai pas trouver la solutions!!
Je vous explique le topo:

Je ve ajouter un entier+ un caractére + une entier dans une chaine de la façon suivante $temp=5#3

voici le code:

while(isset($value[$n])){
__ if($n==0){
___ if($n==$num) $temp=($value[$n]+1); else $temp=$value[$n];
__} else {
___ if($n==$num) $temp=$temp.'#'.($value[$n]+1); else $temp=$temp.'#'.$value[$n];
__}
__ $n++;
}

ce code est dans une boucle donc il y aura enfaite num_1#num_2#...#num_n

le code que j'utilise devrait logiquement fonctionner (j'ai vérifier un pe partou) mais ca fonctionne pas chez moi.

aprés exécution de la boucle, j'ai enfaite

$temp = num_1
sachant que le tableau value contient 3 entiers

donc je ne sais plus koi faire...
SVP, aidez moi!!!
A voir également:

5 réponses

sushicat Messages postés 154 Date d'inscription jeudi 3 janvier 2002 Statut Membre Dernière intervention 30 septembre 2010 24
28 nov. 2007 à 22:52
Bonjour,

essaye ça et compare avec ton code complet pour voir ce qui cloche.
J'ai été obligé d'initialiser $value[], $n et $num, mais dans ton prgramme d'origine elles ont sûrement déjà des valeurs ?

<?php
$value[0] = 0;
$value[1] = 1;
$value[2] = 2;
$n = 0;
$num = 0;
while(isset($value[$n])){
if($n==0){
if($n==$num) {
$temp=($value[$n]+1);
}
else {
$temp=$value[$n];
}
}
else {
if($n==$num) {
$temp=$temp.'#'.($value[$n]+1);
}
else {
$temp=$temp.'#'.$value[$n];
}
}
print $temp."<br />";
$n++;
}
?>
0
bonsoir,

As-tu fait un print_r($value) avant ta boucle pour t'assurer qu'il y a bien 3 nombres ?
Je suppose que $n est initialisé à 0
D'où vient le $num ?
0
riders974 Messages postés 114 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 19 mai 2012 8
28 nov. 2007 à 23:15
J'ai déja de testé la boucle a peu prêt comme sushicat, ça fonctionne correctement mais avec le prog complet, ca plane!! compren pas prkoi!! lol

En faite, j'essai de faire un tableau avec une chaine. $num sert à sélectionner une valeur dans la chaine.
L'algorithme du prog est la suivante:
Si $num=$n (le curseur de déplacement), alors on incrémente la valeur a cette endroit!!

Les valeurs sont bien initialisé, j'ai véririfié!!

voici le prog complet:

<?php
$link = mysql_connect("serveur", "user","password") //Connexion au serveur
or die ("Téléchargement impossible à démarrer");
mysql_select_db ("database") //Connexion à la base
or die ("Téléchargement impossible à démarrer");

$id = isset($_GET['id']) ? $_GET['id'] : '';
$num = isset($_GET['num']) ? $_GET['num'] : '';

//Récupération des données
if (isset($id) && is_numeric($id) && isset($num) && is_numeric($num)) {
$query = mysql_query("SELECT * FROM contenu_site WHERE id=$id");
$data = mysql_fetch_array($query);

//Mise à jour des valeurs
$value = explode("#",$data["NumDownload"]); //Transformation des valeurs de téléchargement en tableau
$url = explode("#",$data["urlDownload"]); //Transformation des liens de téléchargement en tableau
$n=0;
$temp = "";
while(isset($value[$n])){
if($n==0){
if($n==$num) $temp=($value[$n]+1); else $temp=$value[$n];
echo $temp.'<br>';
} else {
if($n==$num) $temp=$temp.'#'.($value[$n]+1); else $temp=$temp.'#'.$value[$n];
echo $temp;
}
$n++;
}

//Mise à jour du compteur et ouverture du téléchargement
mysql_query("UPDATE contenu_site SET NumDownload=\"$temp\" WHERE id = $id");

if(isset($url[$num])) header("Location: ".$url[$num]); else echo "Le téléchargement n'a pas été détecté";

} else echo "Le téléchargement n'a pas été détecté";

mysql_close($link);
?>
0
peuxbonjour,

ton programme complet marche très bien chez moi.
Peux-tu faire un print_r ($value) juste avant la boucke et un copier-coller su résultat ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
riders974 Messages postés 114 Date d'inscription dimanche 14 octobre 2007 Statut Membre Dernière intervention 19 mai 2012 8
29 nov. 2007 à 20:55
Ok je vous remercie mé j'ai finalement résolu le prob, apparement ct un plantage de easyphp (je pense car je voi pa d'autre possibilité) car la, aprés démarrage de mon ordi, ca fonctionne bien!!!!

Merci a vous!!
0