activer une parti du script

Mammouth du PHP | 558 Messages

31 mars 2007, 16:31

je voudrait savoir comment activez une partie de mon script sans influer sur le temps de chargement de la page...
je vous met le script de cette page.
<?php
require("admin/config.inc.php");
include("admin/functions.php");
include('template/template.php');
?>

<HEAD>
<TITLE>easy-cash-ptp : tombola</TITLE>

<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META name="description" content="easycashptp ; Gagner de l'argent en faisait la promotion d'une page web ! Paiement des 10 euros sur Paypal et des cadeaux époustouflants !">

        
<?php
$prix = $_POST['amount'];

if($prix == '1.5')
{
$ticket = '1';
}

if($prix == '3')
{
$ticket = '2';
}

if($prix == '4.5')
{
$ticket = '3';
}

if($prix == '6')
{
$ticket = '4';
}

if($prix == '7.5')
{
$ticket = '5';
}

if($prix == '9')
{
$ticket = '6';
}

if($prix == '10.5')
{
$ticket = '7';
}

if($prix == '12')
{
$ticket = '8';
}

if($prix == '13.5')
{
$ticket = '9';
}

if($prix == '15')
{
$ticket = '10';
}

if($ticket == NULL)
{
echo"une erreur innatendue s'est produite merci de contactez l'admin";
exit();
}

if($ticket == '1')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
}

if($ticket == '2')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
}

if($ticket == '3')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
}

if($ticket == '4')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //4
}

if($ticket == '5')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //4
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //5
}

if($ticket == '6')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //4
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //5
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //6
}

if($ticket == '7')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //4
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //5
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //6
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //7
}

if($ticket == '8')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //4
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //5
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //6
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //7
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //8
}

if($ticket == '9')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //4
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //5
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //6
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //7
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //8
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //9
}

if($ticket == '10')
{
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //1
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //2
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //3
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //4
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //5
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //6
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //7
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //8
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //9
mysql_query("INSERT INTO `ticket_tombolat` ( `pseudo` , `val` ) VALUES ('".$pseudo_membre."', '0')"); //10
}
mysql_query("UPDATE membre SET ticket_tombolat=ticket_tombolat+'".$ticket."' WHERE pseudo ='".$pseudo_membre."'");
mysql_query("UPDATE tombolat SET nombre=nombre+'".$ticket."'");
echo"vous avez achetez $ticket de tombola pour $prix";
include("template/template1.php");
$lancement_tombola1 = mysql_query("SELECT * FROM tombolat");
$lancement_tombolat2 = mysql_fetch_array($lancement_tombola1);
$lancement_tombolat = $lancement_tombolat2['nombre'];
if($lancement_tombolat < 100)
{
exit();
}
//je voudrais activez cette parti la sans que la page ne soit trop longue a se charger 
$date = date("d m Y");
$email_admin = $mailWebmaster ; //Votre adresse mail
mysql_query("UPDATE tombolat SET nombre='0'");
$gagnant1 = "SELECT * FROM ticket_tombolat order by rand() limit 1 ";
$gagnant2 = mysql_query($gagnant1);
$gagnant3 = mysql_fetch_array($gagnant2);
$gagnant = $gagnant3['pseudo'];
$id = $gagnant3['id'];
echo"<br>$id<br>";
mysql_query("UPDATE ticket_tombolat SET val='1' WHERE id='".$id."'"); 
mysql_query("UPDATE membre SET ticket_tombolat='0'");
$mail1 = mysql_query("SELECT * FROM membre WHERE pseudo='".$gagnant."'");
$mail2 = mysql_fetch_array($mail1);
$mail = $mail2['mail'];
mysql_query("INSERT INTO `commandes` (`pseudo` , `cadeaux` , `commandes` , `date` , `etat` ) VALUES ('".$gagnant."', 'eurocode', '10', '".$date."', '0')");
$message = 'Vous avez gagnez 10 eurocodes valable sur le site eurokiddies
http://www.eurokiddies.com/?referer=1971
il vous seront envoyez très prochainnement
En vous remerciant de votre soutient.
hakazizi
site:
$url
forum:
http://hakazizi.free.fr';
$sujet = 'vous avez gagnez 10 eurocodes à la tombolat d\'easy-cash-ptp';
$entete = "From: <$email_admin>\r\n";
mail($mail,$sujet,$message,$entete);


$gagnant1 = "SELECT * FROM ticket_tombolat WHERE val='0' order by rand() limit 1 ";
$gagnant2 = mysql_query($gagnant1);
$gagnant3 = mysql_fetch_array($gagnant2);
$gagnant = $gagnant3['pseudo'];
$id = $gagnant3['id'];
echo"<br>$id<br>";
mysql_query("UPDATE ticket_tombolat SET val='1' WHERE id='".$id."'"); 
mysql_query("UPDATE membre SET ticket_tombolat='0'");
$mail1 = mysql_query("SELECT * FROM membre WHERE pseudo='".$gagnant."'");
$mail2 = mysql_fetch_array($mail1);
$mail = $mail2['mail'];
mysql_query("INSERT INTO `commandes` (`pseudo` , `cadeaux` , `commandes` , `date` , `etat` ) VALUES ('".$gagnant."', 'eurocode', '5', '".$date."', '0')");
$message = 'Vous avez gagnez 5 eurocodes valable sur le site eurokiddies
http://www.eurokiddies.com/?referer=1971
il vous seront envoyez très prochainnement
En vous remerciant de votre soutient.
hakazizi
site:
$url
forum:
http://hakazizi.free.fr';
$sujet = 'vous avez gagnez 5 eurocodes à la tombolat d\'easy-cash-ptp';
$entete = "From: <$email_admin>\r\n";
mail($mail,$sujet,$message,$entete);


$gagnant1 = "SELECT * FROM ticket_tombolat WHERE val='0' order by rand() limit 1 ";
$gagnant2 = mysql_query($gagnant1);
$gagnant3 = mysql_fetch_array($gagnant2);
$gagnant = $gagnant3['pseudo'];
$id = $gagnant3['id'];
echo"<br>$id<br>";
mysql_query("UPDATE ticket_tombolat SET val='1' WHERE id='".$id."'"); 
mysql_query("UPDATE membre SET ticket_tombolat='0'");
$mail1 = mysql_query("SELECT * FROM membre WHERE pseudo='".$gagnant."'");
$mail2 = mysql_fetch_array($mail1);
$mail = $mail2['mail'];
mysql_query("INSERT INTO `commandes` (`pseudo` , `cadeaux` , `commandes` , `date` , `etat` ) VALUES ('".$gagnant."', 'eurocode', '2', '".$date."', '0')");
$message = 'Vous avez gagnez 2 eurocodes valable sur le site eurokiddies
http://www.eurokiddies.com/?referer=1971
il vous seront envoyez très prochainnement
En vous remerciant de votre soutient.
hakazizi
site:
$url
forum:
http://hakazizi.free.fr';
$sujet = 'vous avez gagnez 2 eurocodes à la tombolat d\'easy-cash-ptp';
$entete = "From: <$email_admin>\r\n";
mail($mail,$sujet,$message,$entete);



$gain2 = "SELECT * FROM ticket_tombolat WHERE val='0' ";
$gain1 = mysql_query($gain2) OR die(mysql_error());
while ($extract=mysql_fetch_array($gain1))
{
$pseudo = $extract['pseudo'];
$total2 = "SELECT * FROM ticket_tombolat WHERE val='0' AND pseudo='".$pseudo."' ";
$total1 = mysql_query($total2) OR die(mysql_error());
while ($extract=mysql_fetch_array($gain1)) { $gain = rand(1,5); $total = $total+$gain; }
$pseudo1 = "SELECT * from membre WHERE pseudo='".$pseudo."'";
$pseudo2 = mysql_query($pseudo1) OR die(mysql_error()); 
while ($extract1=mysql_fetch_array($pseudo2))
{
mysql_query("UPDATE membre SET point=point+'".$total."' WHERE pseudo='".$pseudo."'") OR die(mysql_error());
} }
mysql_query("TRUNCATE TABLE `ticket_tombolat` ");
?>
merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 mars 2007, 17:25

je voudrait savoir comment activez une partie de mon script sans influer sur le temps de chargement de la page...
Tu ne peux pas... si tu ajoutes du code, tu ajoutes du temps de traitement et cela va nécessairement jouer sur le temps de génération et de chargement de la page. En revanche tu peux sévèrement l'optimiser pour réduire ce délai au maximum ;)

Par exemple, les 150 premières lignes de ton codes se résument à
<?php 
$prix = $_POST['amount'];

$ticket = $prix / 1.5;

for($i=0; $i<$ticket; $i++) {
  mysql_query("INSERT INTO ticket_tombolat (pseudo, val) VALUES ('".$pseudo_membre."', 0)");
}
?>
M'est avis que tu dois pouvoir simplifier également la suite :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 170 Messages

31 mars 2007, 17:52

Aille, aille, aille...
En revanche tu peux sévèrement l'optimiser pour réduire ce délai au maximum ;)
Oui sévèrement est le mot juste. :P

Je pense que lui conseiller de se plonger dans un tuto sur les array() ne pourrait lui être que profitable afin de réduire à 2 lignes cette suite insensée de if()
Il manque quelques bases pour éviter de produire une usine à gaz et comme signalé, une boucle génèrera les requêtes à la volée.

J'ai vu aussi un insert d'une date au format "d m Y"
Mauvaise idée !
Il existe dans Mysql des types de champs réservés aux dates tels que DATETIME ou DATE au format AAAA-MM-JJ
C'est ça qu'on utilise, rien d'autre. :wink:

Un peu de travail encore... et au final :
30 lignes de code optimisé :wink:
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends

Mammouth du PHP | 558 Messages

01 avr. 2007, 10:23

suite a vos conseil j'ai essayer d'optimise ma page le probleme c'est que la boucle while ne 'sarrette pas et que c'est toujours le meme ticket qui choisit voici la fin de mon script si je met un braek sa arrette le script au premier resultat or il m'en faut 2 autres;
$lancement_tombolat1 = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `ticket_tombolat`"));
$lancement_tombolat = $lancement_tombolat1['COUNT(*)'];
echo"lancement_tombolat $lancement_tombolat";
if($lancement_tombolat < 100)
{
exit();
}
$date = date("d m Y");
$email_admin = $mailWebmaster ; //Votre adresse mail
mysql_query("UPDATE tombolat SET nombre='0'");
$gagnant3 = mysql_fetch_array(mysql_query("SELECT * FROM ticket_tombolat order by rand() limit 1 "));
$gagnant = $gagnant3['pseudo'];
$id = $gagnant3['id'];
echo"<br>gagnant $id<br>";
mysql_query("UPDATE ticket_tombolat SET val='1' WHERE id='".$id."'"); 
mysql_query("UPDATE membre SET ticket_tombolat='0'");
$mail1 = mysql_query("SELECT * FROM membre WHERE pseudo='".$gagnant."'");
$mail2 = mysql_fetch_array($mail1);
$mail = $mail2['mail'];
mysql_query("INSERT INTO `commandes` (`pseudo` , `cadeaux` , `commandes` , `date` , `etat` ) VALUES ('".$gagnant."', 'eurocode', '10', '".$date."', '0')");
$message = 'Vous avez gagnez 10 eurocodes valable sur le site eurokiddies
http://www.eurokiddies.com/?referer=1971
il vous seront envoyez très prochainnement
En vous remerciant de votre soutient.
hakazizi
site:
$url
forum:
http://hakazizi.free.fr';
$sujet = 'vous avez gagnez 10 eurocodes à la tombolat d\'easy-cash-ptp';
$entete = "From: <$email_admin>\r\n";
mail($mail,$sujet,$message,$entete);

$gain = '5';
//s'est la boucle ci-dessous boucle la qui a ce problème
$gagnant3=mysql_fetch_array(mysql_query("SELECT * FROM ticket_tombolat WHERE val='0' order by rand() limit 2 "));
while($gagnant3)
{
echo"<br>gain: $gain<br>";
$gagnant = $gagnant3['pseudo'];
$id = $gagnant3['id'];
echo"<br>gagnant $id<br>";
mysql_query("UPDATE membre SET ticket_tombolat='0'");
mysql_query("UPDATE ticket_tombolat SET val='1' WHERE id='".$id."'");
$mail1 = mysql_query("SELECT * FROM membre WHERE pseudo='".$gagnant."'");
$mail2 = mysql_fetch_array($mail1);
$mail = $mail2['mail'];
mysql_query("INSERT INTO `commandes` (`pseudo` , `cadeaux` , `commandes` , `date` , `etat` ) VALUES ('".$gagnant."', 'eurocode', '".$gain."', '".$date."', '0')");
$message = '".$gagnant." Vous avez gagnez ".$gain." eurocodes valable sur le site eurokiddies
http://www.eurokiddies.com/?referer=1971
il vous seront envoyez très prochainnement
En vous remerciant de votre soutient.
hakazizi
site:
$url
forum:
http://hakazizi.free.fr';
$sujet = 'vous avez gagnez ".$gain." eurocodes à la tombolat d\'easy-cash-ptp';
$entete = "From: <$email_admin>\r\n";
mail($mail,$sujet,$message,$entete);
$gain = '2';
}
?>