Paramètres de fonction
Résolu
tribuforex
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
tribuforex Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
tribuforex Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon problème est simple mais je m'arrache les cheveux.. (car je ne trouve pas)
Voici la fonction de base:
function rating_bar($id,$units='',$static='') { ...
Quand je l'appel sur ma page PHP, je fais:
<?php rating_bar('1', ''); ?>
Là, ca marche, $id a une valeur, elle est fixé à 1.
Mais j'aimerai qu'à la place de '1' se soit une autre variable... C'est possible?
Si je mets ca:
<?php rating_bar($TOTO, ''); ?>
Le code génère qu'une seule nouvelle ligne dans ma table SQL nommé id="$TOTO"... Et pas tous les variables de $TOTO.
Merci d'avance pour votre aide, si vous voulez bien prendre le temps de me répondre.
Vincent.
Mon problème est simple mais je m'arrache les cheveux.. (car je ne trouve pas)
Voici la fonction de base:
function rating_bar($id,$units='',$static='') { ...
Quand je l'appel sur ma page PHP, je fais:
<?php rating_bar('1', ''); ?>
Là, ca marche, $id a une valeur, elle est fixé à 1.
Mais j'aimerai qu'à la place de '1' se soit une autre variable... C'est possible?
Si je mets ca:
<?php rating_bar($TOTO, ''); ?>
Le code génère qu'une seule nouvelle ligne dans ma table SQL nommé id="$TOTO"... Et pas tous les variables de $TOTO.
Merci d'avance pour votre aide, si vous voulez bien prendre le temps de me répondre.
Vincent.
A voir également:
- Paramètres de fonction
- Fonction si et - Guide
- Parametres de mon ordinateur - Guide
- Paramètres dns - Guide
- Paramètres de confidentialité - Guide
- Fonction miroir - Guide
13 réponses
Bonjour
Attention aux apostrophes autour de $TOTO...
tu es sûr que tu as vraiment essayé
Attention aux apostrophes autour de $TOTO...
tu es sûr que tu as vraiment essayé
<?php rating_bar($TOTO, ''); ?>Ce ne serait pas plutôt
<?php rating_bar('$TOTO', ''); ?>que tu as fait ?
Bonjour le père et merci pour ton aide.
Si je mets :
le champ $id dans la table est alors rempli par $TOTO
(Expression... normal)
En revanche, si je mets
Une seule ligne est créée et le champ $id dans la table est laissé vide, alors qu'il devrait y avoir création de plusieurs ligne pour toutes les valeurs de $TOTO.
Si je mets :
<?php rating_bar('$TOTO', ''); ?>
le champ $id dans la table est alors rempli par $TOTO
(Expression... normal)
En revanche, si je mets
<?php rating_bar($TOTO, ''); ?>
Une seule ligne est créée et le champ $id dans la table est laissé vide, alors qu'il devrait y avoir création de plusieurs ligne pour toutes les valeurs de $TOTO.
Je n'ai aucune idée de ce que fait ta fonction rating_bar, mais d'après ce que tu décris, la variable $TOTO doit être vide.
Peux-tu montrer ton script (en cachant les mots de passe s'il y en a )
Peux-tu montrer ton script (en cachant les mots de passe s'il y en a )
J'ai compris comment résoudre le problème.
Il faut que si $TOTO vaut 5, ca retourne '5' et pas 5
afin d'obtenir
et pas
sinon c'est mal interprété par la fonction.
Mais comment passer une variable de X à 'X' ?
En faisant ca:
ca ne marche pas...
Il faut que si $TOTO vaut 5, ca retourne '5' et pas 5
afin d'obtenir
<?php rating_bar('5', ''); ?>
et pas
<?php rating_bar(5, ''); ?>
sinon c'est mal interprété par la fonction.
Mais comment passer une variable de X à 'X' ?
En faisant ca:
<?php rating_bar("'"$TOTO"'", ''); ?>
ca ne marche pas...
C'est pas parce que je ne le sais pas, c'est que je n'en suis pas sûr, je me souviens qu'il y a des différences entre les ' et les " en PHP si on utilise le nom d'une variable mais le PHP c'est loin pour moi et que souvent, bon nombre d'erreurs se font à cause de ça.
Donc je réponds car c'est un forum d'entraide et que tu n'es pas le seul autorisé que ça te plaise ou non point barre.
Bref.
Donc je réponds car c'est un forum d'entraide et que tu n'es pas le seul autorisé que ça te plaise ou non point barre.
Bref.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php rating_bar("'".$TOTO."'", ''); ?>
ou bien
<?php rating_bar("'$TOTO'",''); ?>
entre autres possibilités
rating_bar("'".$cur_post['poster_id']."'", '')
- > Donne : Error: You have an error in your SQL syntax;
Si tu as une erreur SQL, c'est que ta requête est mal écrite, c'est un autre problème.
Pourquoi ne donnes-tu pas le code du script ?
Pourquoi ne donnes-tu pas le code du script ?
Pourquoi ne donnes-tu pas le code du script ?
Et bien je ne vois pas trop ce que je pourrai donner...
La fonction marche déjàà un autre endroit, mais avec des valeurs fixe, du style :
La tout ce qu'il me faut c'est que le '1' soit une variable.
Avec <?php $TOTO = $cur_post['poster_id']; rating_bar("'".$TOTO."'", ''); ?>
ca ne marche toujours pas..
Et bien je ne vois pas trop ce que je pourrai donner...
La fonction marche déjàà un autre endroit, mais avec des valeurs fixe, du style :
rating_bar('1', '')
La tout ce qu'il me faut c'est que le '1' soit une variable.
Avec <?php $TOTO = $cur_post['poster_id']; rating_bar("'".$TOTO."'", ''); ?>
ca ne marche toujours pas..
<?php function rating_bar($id,$units='',$static='') { require('_config-rating.php'); // get the db connection info //set some variables $ip = $_SERVER['REMOTE_ADDR']; if (!$units) {$units = 5;} if (!$static) {$static = FALSE;} // get votes, values, ips for the current rating bar $query=mysql_query("SELECT total_votes, total_value, used_ips FROM $rating_dbname.$rating_tableName WHERE id='$id' ")or die(" Error: ".mysql_error()); // insert the id in the DB if it doesn't exist already // see: http://www.masugadesign.com/the-lab/scripts/unobtrusive-ajax-star-rating-bar/#comment-121 if (mysql_num_rows($query) == 0) { $sql = "INSERT INTO $rating_dbname.$rating_tableName ('id','total_votes', 'total_value', 'used_ips') VALUES ('$id', '0', '0', '')"; $result = mysql_query($sql); } $numbers=mysql_fetch_assoc($query); if ($numbers['total_votes'] < 1) { $count = 0; } else { $count=$numbers['total_votes']; //how many votes total } $current_rating=$numbers['total_value']; //total number of rating added together and stored $tense=($count==1) ? "vote" : "votes"; //plural form votes/vote // determine whether the user has voted, so we know how to draw the ul/li $voted=mysql_num_rows(mysql_query("SELECT used_ips FROM $rating_dbname.$rating_tableName WHERE used_ips LIKE '%".$ip."%' AND id='".$id."' ")); // now draw the rating bar $rating_width = @number_format($current_rating/$count,2)*$rating_unitwidth; $rating1 = @number_format($current_rating/$count,1); $rating2 = @number_format($current_rating/$count,2); if ($static == 'static') { $static_rater = array(); $static_rater[] .= "\n".'<div class="ratingblock">'; $static_rater[] .= '<div id="unit_long'.$id.'">'; $static_rater[] .= '<ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">'; $static_rater[] .= '<li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>'; $static_rater[] .= '</ul>'; $static_rater[] .= '<p class="static">Note : <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.') <em>This is \'static\'.</em></p>'; $static_rater[] .= '</div>'; $static_rater[] .= '</div>'."\n\n"; return join("\n", $static_rater); } else { $rater =''; $rater.='<div class="ratingblock">'; $rater.='<div id="unit_long'.$id.'">'; $rater.=' <ul id="unit_ul'.$id.'" class="unit-rating" style="width:'.$rating_unitwidth*$units.'px;">'; $rater.=' <li class="current-rating" style="width:'.$rating_width.'px;">Currently '.$rating2.'/'.$units.'</li>'; for ($ncount = 1; $ncount <= $units; $ncount++) { // loop from 1 to the number of units if(!$voted) { // if the user hasn't yet voted, draw the voting stars $rater.='<li><a href="db.php?j='.$ncount.'&q='.$id.'&t='.$ip.'&c='.$units.'" title="'.$ncount.' sur '.$units.'" class="r'.$ncount.'-unit rater" rel="nofollow">'.$ncount.'</a></li>'; } } $ncount=0; // resets the count $rater.=' </ul>'; $rater.=' <p'; if($voted){ $rater.=' class="voted"'; } $rater.='>Note : <strong> '.$rating1.'</strong>/'.$units.' ('.$count.' '.$tense.')'; $rater.=' </p>'; $rater.='</div>'; $rater.='</div>'; return $rater; } } ?>