Page 1 sur 1

calcul du prix d'un colis

Posté : 01 août 2014, 11:55
par ericko
bonjour,j'ai un problème dans stage , je dois developper un site web d'envoi de colis,mais comment faire si on une formule qui calculent des prix selon les mesures du colis et selon la zone géographique.
Où je peux mettre cette formule? quelqu'un peut m'aider! Merci! Ex: pr un colis de 3kg ,L=20 l=15 h=20 pour le japon(L*l*h)/5000 et compare par le poids reel et on prend le plus grand.et pui si c'est pour aller ds zone 1 c'est 50€ si zone 2 c'est 55€ ainsi de suite. et ca varie selon le les mesures du colis.
Les idées svp,j'avais calculer le prix mais sans tenir compte sur la destination! avec destination j y arrive pas!

Re: calcul du prix d'un colis

Posté : 01 août 2014, 11:56
par ericko
j'ai une liste déroulante des pays!

Re: calcul du prix d'un colis

Posté : 01 août 2014, 12:07
par sirakawa
Un formulaire où sont saisies les dimensions, le pays etc

Un script PHP contenant la/les formules.

un switch ($pays) ferait peut-être l'affaire
switch ($pays) en regroupant les case (il y a sûrement plusieurs pays vers qui la tarification fonctionne de la même façon)

Tu as un bel exemple de résultat ici:
http://www.laposte.fr/particulier/outil ... r-de-tarif (eux ils commencent par la destination... )

Re: calcul du prix d'un colis

Posté : 01 août 2014, 16:25
par ericko
<form action="calcul_prix.php" method="post" >
<table border="0" align="center" cellpadding="4" cellspacing="4" width="100%">
<tr>
<td colspan="5"><img src="<?php echo PATH_TEMPLATE_IMAGES; ?>pix.gif" width="1" height="20" border="0"></td>
</tr>


<tr>
<td width="150px" ><label for="depart" >DEPART:</label><span class="texte11red">*</span></td>
<td width="250px" >
<select id="depart" name="depart">
<option value="FRANCE">FRANCE</option>
</select>


</tr>
<tr>
<td><label for="destination" >DESTINATION:</label><span class="texte11red">*</span></td>
<td>
<select id="destination" name="destination" >

<option value="France" selected="selected">France </option>
<option value="Afghanistan">Afghanistan </option>
<option value="Afrique_Centrale">Afrique_Centrale </option>
<option value="Afrique_du_sud">Afrique_du_Sud </option>
<option value="Albanie">Albanie </option>
<option value="Algerie">Algerie </option>
<option value="Allemagne">Allemagne </option>

<option value="Zambie">Zambie </option>
<option value="Zimbabwe">Zimbabwe </option>
</select>
</td>


</tr>
<td>&nbsp;</td>

<tr>

<td><label for="poids" >Poids:</label><span class="texte11red">**</span></td>
<td>
<input type="float" id="poids" name="poids" class="poids" placeholder="en Kg" size="5" maxlength="5" <?php if (isset($_POST['poids'])){?> value=<?php echo $_POST['poids'] ; }?>>
</td>

<td><label for="longueur" >Longueur:</label><span class="texte11red">**</span></td>
<td>
<input type="float" id="longueur" name="longueur" class="longueur" placeholder="en cm" size="5" maxlength="5" <?php if (isset($_POST['longueur'])){?> value=<?php echo $_POST['longueur'] ; }?>>
</td>

<td><label for="largeur" >Largeur:</label><span class="texte11red">**</span></td>
<td>
<input type="float" id="largeur" name="largeur" class="largeur" placeholder="en cm" size="5" maxlength="5" <?php if (isset($_POST['largeur'])){?> value=<?php echo $_POST['largeur'] ; }?>>
</td>
<td><label for="hauteur" >Hauteur:</label><span class="texte11red">**</span></td>
<td>
<input type="float" id="hauteur" name="hauteur" class="hauteur" placeholder="en cm" size="5" maxlength="5" <?php if (isset($_POST['hauteur'])){?> value=<?php echo $_POST['hauteur'] ; }?>>
</td>

</tr>
<tr>
<h3> Detail du contenu</h3>
<textarea name="detail" cols="50" rows="2" id="detail"> <?php if (isset($_POST['detail'])){?> <?php echo $_POST['detail'] ; }?> </textarea>
</tr></br></br>
<tr>
<td width="150px" ><label for="assurance" >ASSURANCE:</label><span class="texte11red">*</span></td>
<td width="250px" >
<select id="assurance" name="assurance">
<option value="">Non</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>


</tr>

<tr>
<td height="25" colspan="15" class="texte" align="center">


<input type="submit" name="ok" value="" class="b_valider" title="Valider" >&nbsp;

</td>
</tr>
<tr>
<td height="20" colspan="5" class="TDligne">
<span class="texte11red">* Champs obligatoires</span></br>
<span class="texte11red">** le poids ne doit pas dépasser 30kg</span></br>
<span class="texte11red">** Longueur+Largeur+Hauteur doit être inférieur ou égal à 150cm</span></br>
<span class="texte11red">** Longueur doit être inférieur ou égal 100cm</span>
</td>

</tr>


<script type="text/javascript">
var vf;
vf = new ValideForm("vf");
vf.repImg = "<?php echo PATH_TEMPLATE_IMAGES; ?>valideForm/";
vf.ini_form("adminForm", 's', 's', 'a_nom', 'a_prenom', 'a_email', 'a_login', 'a_password', 'a_conf_password', 'a_age', 'a_tel' );
</script>
<?php
if (isset($_POST['ok']))
{
$longeur=$_POST['longueur'];
$largeur=$_POST['largeur'];
$hauteur=$_POST['hauteur'];
$poids=$_POST['poids'];
$_destination=$_POST['destination'];

$calcul=($longeur*$largeur*$hauteur)/5000;
//echo $calcul;

IF ($calcul>$poids){
$poidR=$calcul;
}
else{
$poidR=$poids;
}
echo "<table cellspacing=30px style=float:center><tr>";
$prix = "";
if($poidR>=0 AND $poidR<=1){
$prix="18 euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td> </br>";}
if($poidR>1 AND $poidR<=2 ){
$prix="21euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>2 AND $poidR<=3){
$prix="24euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' readonly></td>";}
if($poidR>3 AND $poidR<=4){
$prix="28euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>4 AND $poidR<=5){
$prix="32euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>5 AND $poidR<=6){
$prix="35euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>6 AND $poidR<=7){
$prix="38euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>7 AND $poidR<=8){
$prix="42euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>8 AND $poidR<=9){
$prix="46euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>9 AND $poidR<=10){
$prix="50euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>10 AND $poidR<=15){
$prix="80euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>15 AND $poidR<=20){
$prix="110euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>20 AND $poidR<=25){
$prix="130euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if($poidR>25 AND $poidR<=30){
$prix="150euros";
echo "<td><label>PRIX A PAYER</label></td><td><input type=text id='prix' name='prix' value='$prix' disabled></td>";}
if(($longeur+$largeur+$hauteur)>150){
echo "<td><label><h2><i>VERIFIEZ SI VOUS N'AVEZ PAS DEPASSE LE POIDS ET MESURES AUTORISES!!</i></h2> </td>";}
else if($poids>30 ){
echo "<td><label><h2><i>VERIFIEZ SI VOUS N'AVEZ PAS DEPASSE LE POIDS ET MESURES AUTORISES!!</i></h2> </td>";}
echo "<td><label>ENVOYER CE COLIS</label></td><td><input type='button' value='Envoyer' onclick=window.location.href='envoi.php'></td>&nbsp";
}
echo "</tr>
</table>";


?>
</table>
</form>

Re: calcul du prix d'un colis

Posté : 01 août 2014, 16:26
par ericko
normalement la formule marchait mais sans destination!!càd le meme prix partout!! maintenant il fo ke je diviser les pays en zones pour mettre differents prix!

Re: calcul du prix d'un colis

Posté : 01 août 2014, 17:10
par sirakawa
Tu te compliques en saisissant tout à la fois : comment veux-tu que je devine les dimensions max autorisées pour le Cameroun, par exemple.
En commençant par ne saisir que le pays, on aboutirait à une saisie du reste correctement orientée.

Re: calcul du prix d'un colis

Posté : 01 août 2014, 17:26
par ericko
ok merci,je vais commencer par destination! mais comment je diviser des pays en zones? j'ai 8 zones! et comment tester si tel pays appartient à tel zone?

Re: calcul du prix d'un colis

Posté : 01 août 2014, 17:58
par sirakawa
Tu fais une liste bestiale des pays et tu te sers d'un switch pour orienter
supposant que Cameroun et Islande ait les mêmes tarifs

switch ($code_pays)
{
case "CAM":
case "ISL":

break;


}

Re: calcul du prix d'un colis

Posté : 14 oct. 2020, 10:01
par clara27
Quelqu'un peut-il m'aider à faire une tâche avec ce site https://www.parcelabc.fr/? Merci.

Re: calcul du prix d'un colis

Posté : 14 oct. 2020, 10:27
par @rthur
Bonjour, il faut que tu nous en dises plus :
- quel est le problème ?
- où bloques-tu ?
- qu'as-tu déjà essayé de développer ?
- quels sont les messages d'erreurs rencontrés ?

Re: calcul du prix d'un colis

Posté : 14 oct. 2020, 14:41
par or 1
c'est un message de référenceur pour placer un lien.