[RESOLU] Souci sur ma fonction qui divise par 0

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Souci sur ma fonction qui divise par 0

Re: Souci sur ma fonction qui divise par 0

par seyco1 » 03 juin 2013, 15:15

Bon je m'excuse du temps que je vous est fais perdre :s
Spols tu ma mis sur la bonne voie (merci à toi) j'ai une colonne id dans matable pfuii donc c'est résolu^^
merci à tous les participants mention spécial a ghost qui est adorable :)
bye

Re: Souci sur ma fonction qui divise par 0

par Spols » 03 juin 2013, 15:06

si tu ne nous donne pas d'outil pour chercher avec toi on ne sait pas t'aider
Que vaut tes variables total_sucettes et total_frites ?

Est tu sur que ta colonne total_frites n'est jamais nulle dans ta table ?

Re: Souci sur ma fonction qui divise par 0

par seyco1 » 03 juin 2013, 15:03

Lol oui je cherche et je lâche rien car pour moi tout est juste mise a part une chose mais je ne la detecte pas.

Re: Souci sur ma fonction qui divise par 0

par Spols » 03 juin 2013, 14:56

Que vaut tes variables total_sucettes et total_frites ?

Est tu sur que ta colonne total_frites n'est jamais nulle dans ta table ?

Qu'arrive t il si ta requète ne retourne aucun résultat ? <== Le problème vient peut être de la.

Place quelques "echo" dans ton code pour vérifier le contenu de tes variables.
La chose sure, c'est que $row['total_frites'] vaut 0 d'où ton message d'erreur. mais quelle est la cause de cette nullité c'est ce qu'il faut chercher

Re: Souci sur ma fonction qui divise par 0

par moogli » 03 juin 2013, 14:55

salut,


quand on ne maitrise pas la valeur d'une donnée il faut toujours la tester.
<?php
if($row['total_frites'] != 0) {
    $resultat=$row['total_sucettes']/$row['total_frites']*10;
}
else {
    $result = 0; // ou autre chose, tu peux écrire infinie ;) 
}
?>

@+

Re: Souci sur ma fonction qui divise par 0

par seyco1 » 03 juin 2013, 14:41

Oki.

Dans mon dossier includes j'ai un fichier fonction_site.php cest la dedant que je met toutes mes fonctions dont celle ci.
function Calcul ($total_sucettes,$total_frites)
 {
    $requete_tp=mysql_query("SELECT * FROM nouriture WHERE total_sucettes='$total_sucettes' AND total_frites='$total_frites'");
    if (!$requete_tp) {
                echo 'Impossible d\'exécuter la requête : ' . mysql_error();
           exit;
        }
        $row = mysql_fetch_assoc($requete_tp);
        mysql_free_result($requete_tp);
        $resultat=$row['total_sucettes']/$row['total_frites']*10;
        return $resultat; 
}
Ensuite j'ai un répertoire web ou je met mon php.
				$html=file_mots(url("REP")."/web/html/test.html");
				$html=str_replace("[TP]",Calcul($total_sucettes,$total_frites),$html);
				$HTML.=$html;
Puis comme tu peut le voir je retranscrit tout sur un fichier html qui se trouve dans un répertoire nommé html.
Pour la base de donnée c 'est une table nouriture et deux champs ==> total_sucettes et total_frites.

Re: Souci sur ma fonction qui divise par 0

par Spols » 03 juin 2013, 14:28

Donne nous ton code en entier et le contenu de ta base de donnée sinon on avanceras qu'à l'aveuglette

Re: Souci sur ma fonction qui divise par 0

par seyco1 » 03 juin 2013, 14:26

remplace ta function par la mienne :)
J'obtient toujours comme résultat 0 :twisted: et aussi

Code : Tout sélectionner

Division by zero in

Re: Souci sur ma fonction qui divise par 0

par ghost5922 » 03 juin 2013, 14:18

remplace ta function par la mienne :)

Re: Souci sur ma fonction qui divise par 0

par seyco1 » 03 juin 2013, 14:13

Alors je sais pas si je vais bien répondre à ta demande mais avec le code de départ en mettant des valeurs en dur a la place de mes variables j'obtient bien 50 ce qui est totalement juste.
C'est peut êtres normal aussi je sais pas trop.

J'ai testé dans php my admin ya aucun souci de requête.
 function Calcul ($total_sucettes,$total_frites)
				{
					$resultat=(10/2)*10);
					
					$requete_tp="SELECT * FROM nouriture WHERE total_sucettes='$total_sucettes' AND total_frites='$total_frites'";
					if ($envoi_tp=mysql_query($requete_tp))
					{
						if ($data_tp=mysql_fetch_array($envoi_tp))
						mysql_free_result($envoi_tp);
					}
					return $resultat; 

				}

Re: Souci sur ma fonction qui divise par 0

par ghost5922 » 03 juin 2013, 14:00

ok essaie de mettre ta requête dans phpmyadmin

SELECT * FROM nouriture WHERE total_sucettes='$total_sucettes' AND total_frites='$total_frites'

remplace bien tes variables par des infos en dur

Re: Souci sur ma fonction qui divise par 0

par seyco1 » 03 juin 2013, 13:54

fais un print_r($row);
et appelle ta fonction simplement Calcul($total_sucettes,$total_frites); sans le replace
Pareil toujours 0.

Re: Souci sur ma fonction qui divise par 0

par ghost5922 » 03 juin 2013, 13:47

fais un print_r($row);
et appelle ta fonction simplement Calcul($total_sucettes,$total_frites); sans le replace

Re: Souci sur ma fonction qui divise par 0

par seyco1 » 03 juin 2013, 13:41

Avec mon replace cela m’écris le chiffre 0
$calcul=str_replace("[TP]",Calcul($total_sucettes,$total_frites),$calcul);

Re: Souci sur ma fonction qui divise par 0

par ghost5922 » 03 juin 2013, 13:35

que donne le print_r() ? déjà voir si tu récupère bien tes données