Télécharger des logiciels Windows, Mac, Linux, Palm, Pocket PC, Mobile, Jeux, scripts PHP, script ASP, scripts CGI, scripts PERL. Télécharger des cours, des wallpapers, des curseurs, des gifs animés, des fonds d'écran, fonds d'écrans, des textures, des icônes, des dessins. Gratuiciels, freeware, shareware, démonstration, gratuit.
Faites le plein de téléchargements !
script qui fonctionne pour addition 2 valeurs , mais moi j'en voudrais 3.
script qui fonctionne pour addition 2 valeurs , mais moi j'en voudrais 3 Discutez du sujet script qui fonctionne pour addition 2 valeurs , mais moi j'en voudrais 3 sur Toocharger.com.

FAQFAQ   RechercherRechercher   S'enregistrerS'enregistrer  ProfilProfil   ConnexionConnexion
Toocharger.com Index du Forum » PHP

Poster un nouveau sujet   Répondre au sujet
script qui fonctionne pour addition 2 valeurs , mais moi j'en voudrais 3
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
jeromei



Inscrit le: 30 Mai 2008
Messages: 33

MessagePosté le: 17 Juin 2008 12:13  Répondre en citant

bonjour,

j'ai ce script (code source internet qui fonctionne pour addition de deux valeurs)

je souhaite l'adapter pour addition de 3 valeurs mais ne fonctionne pas au niveau de l'addition.

peux tu me filer un petit coup de main stp.

je te joins le fichier zip qui s'appelle camembertok.zip

j'ai rajouter des variables t3 et v3 ce qui me donne ça

[url]http://jeromei.phpnet.org/Copie%20de%20travail/camembert/demo-camembert.php?PHPSESSID=826ba3b10ec001513a2b126976506167[url]


impeccable dans le tableau mais pas à la validation!!!

avec deux valeurs (script joint fonctionne!)

fichier camembert.php


Code:
<?php

class camembert {
var $dim; # dim de position dans le tableau
var $tabVal; # tableau des valeurs
var $tabNom; # tableau des noms
var $tot; # total des valeurs

### camembert : constructeur / initialisation
function camembert() {
$this->dim = 0;
$this->tot = 0;

$this->tabVal=array();
$this->tabNom=array();
} # fin camembert


### add_tab : ajoute une donnee au tableau (valeur + libelle)
function add_tab($val, $nom) {
if ($val > 0) {
$this->tabVal[$this->dim] = $val;
$this->tabNom[$this->dim] = $nom;
$this->tot = $this->tot + $val; # calcul du total
$this->dim++; # MAJ de l'dim
}
} # fin add_tab


### trier_tab : trie le tableau par ordre decroissant
function trier_tab() {
if ($this->dim > 1) { # tri necessaire ?

for($i=0;$i<$this->dim-1;$i++) {
$maxi = $this->tabVal[$i];

for($j=$i+1;$j<$this->dim;$j++) {
if ($maxi < $this->tabVal[$j]) { # on echange les positions dans le tableau
$maxi = $this->tabVal[$j];
$inter = $this->tabNom[$j];

$this->tabVal[$j] = $this->tabVal[$i];
$this->tabNom[$j] = $this->tabNom[$i];

$this->tabVal[$i] = $maxi;
$this->tabNom[$i] = $inter;
}
} # for j
} # for i
} # if
} # fin trier_tab


### affiche_tab : affiche les donnees du tableau, utile pour utile Debug
function affiche_tab() {
for($i=0; $i<$this->dim; $i++) {
echo $this->tabNom[$i].' '.$this->tabVal[$i].'<br />';
} # for
} # fin affiche_tab


### stat2png : genere une image camembert au format PNG
function stat2png($mode, $hauteur_effet_3D) {
$width = 370; # largeur de l'image
$height = 220; # hauteur de l'image
$centre_x = 110; # poisition X du centre du camembert
$centre_y = 110; # poisition Y du centre du camembert
$cam_largeur = 200; # largeur du camembert
$cam_hauteur = 160; # hauteur du camembert

# declaration/initialisation de l'image
$img = imagecreatetruecolor($width, $height) or die("Probleme : Chargement de la lib GD impossible");

# declaration des couleurs
$noir = imagecolorallocate($img,0,0,0);
$vert = imagecolorallocate($img,90,160,90);
$blanc = imagecolorallocate($img,255,255,255);

ImageFill( $img, 0, 0, $blanc ); # couleur de fond de l'image (blanc)

if ($mode<>2 && $mode<>3) { # controle du mode
$mode = 2;
}

if ($mode == 2) {
$cam_largeur = $cam_hauteur; # pour la 2D on veut un cercle et pas une ellipse
}

$tot_angle = -90; # on commence a afficher les donnees a partir de midi

# variables pour generer les couleurs du camembert
$v2 = 185;
$v1 = 75;
$c = 0;

for($i=0; $i<$this->dim; $i++) { # pour chaque morceau du camembert, on calcul la couleur et les angles

# on genere une couleur differente a chaque iteration et on la memorise
if ($c==0) {
$tab_couleurs[$i][0][0] = $v1; # R
$tab_couleurs[$i][0][1] = $v2; # G
$tab_couleurs[$i][0][2] = $v2; # B
}
else if ($c==1) {
$tab_couleurs[$i][0][0] = $v2; # R
$tab_couleurs[$i][0][1] = $v1; # G
$tab_couleurs[$i][0][2] = $v2; # B
}
else if ($c==2) {
$tab_couleurs[$i][0][0] = $v2; # R
$tab_couleurs[$i][0][1] = $v2; # G
$tab_couleurs[$i][0][2] = $v1; # B
}

$c++;
# calcul complexe pour changer de couleur
if ($c==3) {
$c = 0;
$v1 += 60;
$v2 -= 40;

if (abs($v1-$v2) < 40) {
$v1 += 30;
$v2 -= 30;
} # if
} # if

# on assombrit la couleur et on la memorise
$dark = 35; # modifier cette valeur pour modifier l'assombrissement des couleurs

for($k=0; $k<3; $k++) { # R G B

if ($tab_couleurs[$i][0][$k] - $dark > 0)
$tab_couleurs[$i][1][$k] = $tab_couleurs[$i][0][$k] - $dark;
else
$tab_couleurs[$i][1][$k] = 0;

} # for($k=0; k<3; k++)

# on calcul et memorise l'angle
$tab_angle[$i] = $tot_angle;
$angle = ($this->tabVal[$i] * 360) / $this->tot;
$tot_angle += $angle;

} # for($i=0; $i<$this->dim; $i++)

$tab_angle[$this->dim] = $tot_angle; # on n'oublie pas de memoriser le dernier angle Wink


# on peut commencer a afficher les morceaux de camemberts

if ($mode == 3) { # Effet 3D

for($k=$centre_y + $hauteur_effet_3D; $k > $centre_y; $k--) { # pour avoir un effet 3D de 10 pixels

for($i=0; $i<$this->dim; $i++) { # pour chaque morceau du camembert

# creation de la couleur sombre
$color = imagecolorallocate( $img, $tab_couleurs[$i][1][0], $tab_couleurs[$i][1][1], $tab_couleurs[$i][1][2] ); # R G B

# on affiche le morceau de camembert
imagefilledarc($img, $centre_x, $k, $cam_largeur, $cam_hauteur, $tab_angle[$i], $tab_angle[$i+1], $color, IMG_ARC_PIE);

} # for($i=0; $i<$this->dim; $i++)

} # for($k=120; $k>110; $k--)

} # if ($mode == 3)


# on affiche les morceaux "clairs" du camembert (partie commune 2D/3D)
for($i=0; $i<$this->dim; $i++) { # pour chaque morceau du camembert

# creation de la couleur claire
$color = imagecolorallocate( $img, $tab_couleurs[$i][0][0], $tab_couleurs[$i][0][1], $tab_couleurs[$i][0][2] ); # R G B

# on affiche le morceau de camembert
imagefilledarc($img, $centre_x, $centre_y, $cam_largeur, $cam_hauteur, $tab_angle[$i], $tab_angle[$i+1], $color, IMG_ARC_PIE);

# on affiche la legende
$x = 235;
$y = 15 + $i*16;
imagefilledrectangle($img, $x, $y, $x+9, $y+9, $color); # petit carre de couleur
imagestring($img, 2, $x+15, $y-2, $this->tabNom[$i]. ' ('.floor(($this->tabVal[$i] * 100) / $this->tot).'%)', $noir); # texte

} # for($i=0; $i<$this->dim; $i++)


# finalisation de l'image

imagestring( $img, 2, 175, 195, "http://jeromei.phpnet.org/Copie de travail", $vert); # vous pouvez mettre votre site internet

header("Content-type: image/png"); # declaration du Header, pour pouvoir afficher l'image
imagepng($img); # creation de l'image
imagedestroy($img); # nettoyage des ressources
} # fin stat2png


} # fin de la classe camembert



?>


fichier cam.php

Code:
<?php
# 03/05/2008 Didier STRAUS.fr #

require("camembert.php");

if ( ! is_numeric($_GET["mode"]) ) { $mode = 2; } else { $mode = $_GET["mode"]; }

$cpt_txt = 0;

if ( isset($_GET["t1"]) ) {
$t1 = $_GET["t1"];

if (strlen($t1) > 13) { # si c'est trop long, on coupe !
$t1 = substr($t1, 0, 13);
}
$cpt_txt++;
}
else {
$t1= ' ';
}

if ( isset($_GET["t2"]) ) {
$t2 = $_GET["t2"];

if (strlen($t2) > 13) { # si c'est trop long, on coupe !
$t2 = substr($t2, 0, 13);
}
$cpt_txt++;
}
else {
$t2= ' ';
}

$cpt_val = 0;

if ( ! is_numeric($_GET["v1"]) ) { $v1 = 0; } else { $v1 = $_GET["v1"]; $cpt_val++; }
if ( ! is_numeric($_GET["v2"]) ) { $v2 = 0; } else { $v2 = $_GET["v2"]; $cpt_val++; }

# ##### FIN - on empeche les pirates de faire des betises ##### #

if ($mode == 2)
$mode = 2;
else
$mode = 3;

if ( ($cpt_txt > 0) && ($cpt_val == $cpt_txt) ) { # on peut generer une image

$camembert = new camembert(); # initialisation

#on rentre les donnees

if ($v1 > 0) { if (strlen($t1) < 1) $t1 = $v1; $camembert->add_tab( $v1, $t1 ); }
if ($v2 > 0) { if (strlen($t2) < 1) $t2 = $v2; $camembert->add_tab( $v2, $t2 ); }

$camembert->trier_tab(); # Facultatif, les donnees sont triees dans l'ordre decroissant

$camembert->stat2png($mode, 15);
} # FIN on peut generer l'image





else { # acces non autorise

echo '<br /><br /><h1 align="center">&copy;2008&nbsp;<a href="http://www.software-ds.com">www.Software-DS.com</a></h1>';

}
?>


fichier demo-camembert.php

Code:
<?php


$cpt_txt = 0;

if ( isset($_POST["t1"]) ) {
$t1 = $_POST["t1"];

if (strlen($t1) > 13) { # si c'est trop long, on coupe !
$t1 = substr($t1, 0, 13);
}
$cpt_txt++;
}
else {
$t1= ' ';
}

if ( isset($_POST["t2"]) ) {
$t2 = $_POST["t2"];

if (strlen($t2) > 13) { # si c'est trop long, on coupe !
$t2 = substr($t2, 0, 13);
}
$cpt_txt++;
}
else {
$t2= ' ';
}

$cpt_val = 0;

if ( ! is_numeric($_POST["v1"]) ) { $v1 = 0; } else { $v1 = $_POST["v1"]; $cpt_val++; }
if ( ! is_numeric($_POST["v2"]) ) { $v2 = 0; } else { $v2 = $_POST["v2"]; $cpt_val++; }

if (isset($code) && isset($_POST["app"])) {
$app = $_POST["app"];
if (strlen($app) > 4) {
$app = 'a2D';
}
}

?>


<br />


<table cellpadding="2" cellspacing="2" bgcolor="#996633" width="735">
<tr>
<td bgcolor="#FFCC99" align="center">
<h2>G&eacute;n&eacute;rateur PHP de Camembert en 2D/3D</h2>
</td>
</tr>
<tr>
<td bgcolor="#FFFFDD" class="tM">
Ci-dessous une d&eacute;mo en ligne du script.
<br />
</td>
</tr>
<tr>
<td bgcolor="#FFFFC0" class="tM" align="center">
<form method ="post" action ="">

Saisir les donn&eacute;es pour g&eacute;n&eacute;rer un Camembert :<br />
<br />
<table width="190" cellpadding="2" cellspacing="1" bgcolor="#FF9900">
<tr bgcolor="#FFCC99"><td align="center">Valeur</td><td align="center">Libelle</td></tr>
<tr bgcolor="#FFFFCC"><td align="center">
<input type="text" name="v1" id="v1" size="6" value="<?php if (isset($v1) && ($v1 != 0) ) echo $v1; ?>" /></td><td align="center">
<input type="text" name="t1" id="t1" size="12" value="<?php if (isset($t1) && ($t1 != ' ') ) echo $t1; ?>" />
</td></tr>
<tr bgcolor="#FFFFCC"><td align="center">
<input type="text" name="v2" id="v2" size="6" value="<?php if (isset($v2) && ($v2 != 0) ) echo $v2; ?>" /></td><td align="center">
<input type="text" name="t2" id="t2" size="12" value="<?php if (isset($t2) && ($t2 != ' ') ) echo $t2; ?>" />
</td></tr>
</table>
<br />
Apparence:
<input type="radio" name="app" id="a2D" value="a2D" <?php if ( (!isset($_POST['app'])) || ($_POST['app'] == "a2D" ) ) echo 'checked' ?> > 2D
<input type="radio" name="app" id="a3D" value="a3D" <?php if ( (!isset($_POST['app'])) || ($_POST['app'] == "a3D") ) echo 'checked'; ?> > 3D
&nbsp;&nbsp;&nbsp;
<input type="image" name="envoyer" id="envoyer" src="../images/valider.gif" alt="Valider" />
</form>


<?php ### generation de l image du code barre si necessaire ###
if ( ($cpt_txt > 0) && ($cpt_val > 0) ) { # on peut generer une image
echo '<div class="tM" align="center">Image camembert :<br />';

if ($_POST['app'] == "a2D")
$mode = 2;
else
$mode = 3;

#on rentre les donnees
$url = '';

if ($v1 > 0) { if ( ($t1 == ' ') || strlen($t1)<1 ) $t1 = $v1; $url .= '&v1='.$v1.'&t1='.$t1; }
if ($v2 > 0) { if ( ($t2 == ' ') || strlen($t2)<1 ) $t2 = $v2; $url .= '&v2='.$v2.'&t2='.$t2; }

echo '<img src="cam.php?mode='.$mode.$url.'" border="1" alt="" /><br /><br />';

echo '</div>';
} #if ( ($cpt_txt > 0) && ($cpt_val > 0) )
?>

</td>
</tr>
</table>

<br />
[/url]
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas voter dans les sondages

Powered by phpBB © phpBB Group
 
Copyright © 2004-2008 Webluna. Tous droits réservés.
Hebdotop