Anciennes révisionsLiens de retourExporter en PDFHaut de page Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer RedditDerniers changementsSend via e-MailImprimerPermalien × Un script pour faire un loop sur 3 arrays php, avec du mysql exemeple: ici pour renvoyer un message d'information suite à un limesurvey qui vise à s'inscrire à un séminaire pour lequel le nombre de place est limité - l'utilisateur inscrivant lui-même le nombre de places, le script suivant (url de sortie) calcule s'il a dépassé le nombre de places lors de son inscription. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Confirmation</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <? error_reporting(E_ALL ^ E_NOTICE); //tests /* var passed by lime */ $id=$_GET['var1']; $sid=$_GET['var3']; /* var to adapt */ /* nb of places by workshop*/ $nbplaces=25; #$mailto="su@admin.org"; //test $mailto="admin@admin.org"; //prod $mailsubject="Tentative d'inscription infructeuse seminaire XXX"; $mailbody="Tentative d'inscription infructeuse pour: https://[limesurvey_url]/admin/admin.php?action=browse&sid=".$sid ."&subaction=id&id=".$id; $ko="Malheureusement, la limite des " .$nbplaces ." personnes est dépassée. Veuillez s'il vous plait essayer de vous inscrire à une autre date. En cas de problème, écrivez un e-mail à <a href=\"mailto:" .$mailto."\">" .$mailto."</a>"; /* arrays with items */ /*limesurveys id*/ $quiz=array( "123", "456", "789" ); /*dates*/ $quizlib=array( "Vendredi 18 avril à 18h", "Vendredi 18 avril 20h", "Samedi 19 avril à 14h", ); /*limesurvey answers*/ $quizanswer=array( "123X3303X24965", "456X3323X25163", "789X3324X25169", ); /* #tests echo "Total quiz id: " .count($quiz) ."<br>"; echo "Total quizlib: " .count($quizlib) ."<br>"; echo "Total quizansw: " .count($quizanswer) ."<br>"; */ if(count($quiz)!=count($quizanswer)||count($quiz)!=count($quizlib)||count($quizanswer)!=count($quizlib)) { echo "Bug on arrays count! Check"; exit; } #connect to database include("connect.inc.php"); $db=connect_db(); $db_name=db_name(); mysql_select_db($db_name,$db); #loop on arrays for($i=0;$i<count($quiz);$i++) { $sql=" SELECT id, SUM(".$quizanswer[$i] .") AS total FROM `lime_survey_" .$quiz[$i] ."` ORDER BY id DESC "; $sql2=mysql_query($sql); if(!$sql2) { echo mysql_error(); exit; } $sql2=mysql_result($sql2,0,'total'); if($sql2>=$nbplaces) { echo $ko; mail($mailto,$mailsubject,$mailbody); //send notification to admin exit; } /* #tests echo "Quiz id: " .$quiz[$i]."<br>"; echo $quizlib[$i]."<br>"; echo "SQL:<br>".$sql."<br>"; echo "Total places:<br>".$sql2.""; echo "<hr>";*/ } ?> <p> Merci de votre inscription!<br /> <br /> Nous vous donnons donc rendez-vous le...<br /> <br /> Si vous avez des questions, n'hésitez pas à prendre contact avec ADMIN ou par e-mail à <a href="mailto:<? echo $mailto; ?>"><? echo $mailto; ?></a><br /> </p> </pre> </body> </html> info/3dimarraylime.php.txt Dernière modification : 2018/07/18 09:45de radeff S'identifier