Jump to content

BlackPage

Webmaster Régulier
  • Posts

    78
  • Joined

  • Last visited

Everything posted by BlackPage

  1. BlackPage

    Liste PHP/SQL

    Salut, si tu fais une concaténation en texte à la fin, autant faire : <?php $pre_classement_mail = "SELECT mail FROM membre"; $connect_classement_mail = $connect->query($pre_classement_mail); $liste_mail = ''; while ($classement_mail = mysqli_fetch_array($connect_classement_mail)) { $liste_mail .= $classement_mail['mail'] . ', '; } $liste_mail = substr($liste_mail, 0, strlen($liste_mail)-2) // pour supprimer la dernière virgule ?>
  2. Commencer par afficher les erreurs : ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); Ensuite, débugger au fur et à mesure mais de mémoire de php 7.4 à 8 il n'y a pas tant de changements que cela.
  3. public static function sortmulti($array, $index, $order, $natsort=FALSE, $case_sensitive=FALSE){ if(is_array($array) && count($array)>0) { foreach(array_keys($array) as $key) $temp[$key]=$array[$key][$index]; if(!$natsort) { if ($order=='asc') asort($temp); else arsort($temp); } else { if ($case_sensitive===true) natsort($temp); else natcasesort($temp); if ($order!='asc') $temp=array_reverse($temp,TRUE); } foreach(array_keys($temp) as $key){ if (is_numeric($key)) { $sorted[]=$array[$key]; } else { $sorted[$key]=$array[$key]; } } return $sorted; } return $array; }
  4. BlackPage

    Encode json_encode

    Salut, commencer par un SET NAMES UTF8 avant ta requete mysql pour dire à mysql que tu veux travailler en utf8 Ensuite, encoder dans la base en ut8_general_ci et pas en latin. Ca devrait aller un peu mieux ensuite.
  5. Salut, Tu fais ton print après la boucle donc il ne va afficher que la valeur de la dernière itération. Ta variable $array_bd n'est pas un tableau dans ton code. Si tu veux mettre tes valeurs dans un tableau : $rep = mysql_query("SELECT col6 FROM table"); $array_db = array(); while ($donnees = mysql_fetch_array($rep)){ $array_bd[] = $donnees['col6']; } print_r($array_bd); Ca devrait mieux fonctionner là
  6. Un exemple de code ? Parce que c'est pas super clair là...
  7. Salut, Y'a une confusion quelque part parce que échapper un string au moment de l'insertion ca ne met pas de slash dans la table normalement... Bref si ton insertion était bonne, tu aurais "Alpes d'huez" dans le champ et pas "Alpes d\'huez" Donc y'a un double échappage qui traine quelque part. Pour info, perso sur insertion je mets les fonctions d'échappement directement au niveau du insert : Insert into matable ( Champ1, Champ2, ... ) values ( '" . mysql_real_escape_string($mavar1) . "', '" . mysql_real_escape_string($mavar2) . "', .... ) Ca évite ce genre de problèmes puisque $mavar n'est jamais modifié ailleurs qu'à l'insertion Bon courage pour ta recherche !
  8. Salut, PHPExcel est très flexible, et avec FPDF tu peux générer des PDF à partir de PHP. Dans l'absolu c'est une très bonne solution, mais effectivement c'est beaucoup de boulot à prévoir... Il te faudra la base de données des produits, une interface web pour créer tes devis/factures etc, et beaucoup de php pour génerer les XLS et PDF. Tu peux également pointer les fichiers vers un serveur externe à ton applicatif mais dans ce cas à moins d'avoir une API à disposition qui te permette de les y balancer ( et c'est pas gagné ), tu ne pourras pas les téléverser sur ce serveur depuis ton application web et donc tu devras rentrer les liens à la main donc pour moi mauvaise solution... Bon courage !
  9. Salut, Problème classique... Tu fais ca : Select MT1.*, MT2.*, MT1.Champ1 as Champ1_Matable1, MT2.Champ1 as Champ1_Matable2 from Matable1 MT1 INNER JOIN Matable2 MT2 ON BLABLABLA Apres tu appelle chaque champ via son alias : print $row['Champ1_Matable1'] et print $row['Champ1_Matable2'] C'est un peu brut de décoffrage comme explication mais sur le principe c'est ca^^ Tu devrais t'en sortir facilement, si c'est pas le cas, poste ta requète et je la remanierai. Bon courage !
  10. Salut, A priori, vu la structure de la réponse on devrait avoir : $retour = json_decode($values,true); var_dump($retour) => sdtclass object Et à partir de là : if (!is_array($retour->location)){ // si la propriété location de retour n'est pas un tableau $speed = $retour->location->coords->speed; var_dump($speed) => float; } else { for ($i=0 ; $i<count($retour->location) ; $i++){ $speed = $retour->location[$i]->coords->speed; var_dump($speed) => float; } } Je trouve curieux que tu récupères un array et pas un objet... Peut être ton json_decode qui fait mal le boulot ( paramètre true ) ? Edit : effectivement d'apres la doc php c'est le true qui renvoie un tableau associatif... Fais donc plutot : $retour = json_decode($values); var_dump($retour) => stdclass object Et tu pourras utiliser mon code tel quel.
  11. Euh, si tu as RADH = 'HD' c'est pas vraiment une valeur numérique.... Y'a un souci dans la logique de ton code alors :p
  12. Oui, un petit var_dump($lof_row) aidera à voir si les valeurs attendues sont correctes...
  13. Salut, En PHP, on n'utilise pas le AND pour faire des conditions mais le && ( AND ) ou le || ( OR ). Remplace tes AND par des && et vois si ca sort. A priori je ne vois pas d'autre problème.
  14. Salut, Si tu veux faire un substr sur ton grand nombre il faudrait peut-être le forcer en tant que chaine : $a = (string)555666111222333444555; ou $a = '' . 555666111222333444555; echo substr(a, -1 1); Ca devrait fonctionner comme ca.
  15. Salut, Pourquoi ne pas utiliser la fonction stristr qui fera ca en te renvoyant juste un booléen ? if (stristr('abcdef', -100) === false)...
  16. Salut, Normalement un truc dans ce gout doit fonctionner : $result = array(); foreach($val1 as $key => $value){ if(!in_array($value, $val2)){ $result[] = $value; } } Tu auras la liste des éléments non trouvés dans $val2 dans le tableau $result; A adapter certainement un peu mais l'esprit y est^^ Bon courage !
  17. Salut, Tu veux stopper le tri avant ta valeur ou juste ne pas afficher ensuite les valeurs supérieures ou égales à cette valeur ?
  18. Salut ! if ($group != 8 OR $group != 10 OR $groupe != 11) Si je suis groupe 10, je ne suis pas dans groupe 8 ni 11 donc group != 8 vaut 1, group != 11 vaut 1 et group != 10 vaut 0 1 OU 0 ou 1 = 1 donc je rentre... Essaie avec des AND ca devrait mieux fonctionner. Bon courage !
  19. Salut, Une raison de ne pas utiliser les sessions ? Parce que sans session ca va être compliqué huhu...
  20. Salut, Réponse brute de décoffrage mais tu devrais t'en sortir sans trop de douleur... Bon courage ! /** * Commun_Routeur_Backbone.sortmulti([clauses [, options]]) -> Array | boolean **/ public static function sortmulti($array, $index, $order, $natsort=FALSE, $case_sensitive=FALSE){ if(is_array($array) && count($array)>0) { foreach(array_keys($array) as $key) $temp[$key]=$array[$key][$index]; if(!$natsort) { if ($order=='asc') asort($temp); else arsort($temp); } else { if ($case_sensitive===true) natsort($temp); else natcasesort($temp); if($order!='asc') $temp=array_reverse($temp,TRUE); } foreach(array_keys($temp) as $key) if (is_numeric($key)) $sorted[]=$array[$key]; else $sorted[$key]=$array[$key]; return $sorted; } return $sorted; }
  21. Salut à tous, Recevant chaque jour environ 200 spams via mon propre serveur dédié, et n'ayant pas - encore - la qualif requise pour opérer en toute tranquilité, je suis à la recherche de solutions pour intégrer un anti-spam fiable sur ce serveur, sans que l'opération soit trop ardue. J'ai bien essayé le spam assassin mais le trouve faiblard sur certaines choses, et apparemment il n'aide pas sur le fait que mon serveur semble utilisé comme open relay pour envoyer des mails non sollicités en masse. Si quelqu'un a donc une page ou plusieurs qui expliquent comment approcher le problème assez simplement, ou encore mieux un logiciel pas trop complexe d'installation et d'utilisation qui aidrerait en ce sens, je suis preneur. D'avance merci pour vos lumières.
  22. Salut, Tout est loin d'être clair dans ton code... <form id="commandeP" method="post" action="commandeP.php?action=valider" enctype="multipart/form-data"> Ici tu indiques que ton formulaire passe en POST ( method="post" ) mais tu passes un action=valider en GET donc déjà pas très propre... Si vraiment tu veux passer ta variable action, mieux vaut la mettre en <input type="hidden" name="action" value="valider"> Ensuite, on utilise plutot : if (isset($_POST['variable']) $mavar = $_POST['variable']; Enfin, cette partie : if($id_commande){ $req="UPDATE ana_commande SET PcNom='{$PcNom}', PcPrenom={'$PcPrenom}', PcTel={$PcTel}, PcMail='{$PcMail}' WHERE id_commande={$id_commande}"; mysqli_query($connex,$req); } // Insert else{ $req="INSERT INTO ana_commande VALUES(NULL,'{$PcNom}',{$PcPrenom}, {$PcTel}, '{$PcMail}')"; mysqli_query($connex,$req); } C'est valable si tu as déjà un $id_commande qui est non nul parce que si ta variable existe ( même si elle vaut zéro ), alors tu vas faire une mise à jour d'un enregistrement, et si l'enregistrement en question n'existe pas, alors la requete va foirer... Le INSERT INTO doit suffire dans ton cas. Avec ces modifs, ca devrait aller mieux. Bon courage !
  23. Salut, Ca fait longtemps que je ne travaille plus comme ça, mais à priori je dirai que ton bouton submit n'est pas dans la variable $_POST. Mets un <input type="hidden" name="send" value="1"> et la tu devrais pouvoir tester comme ca : if (isset($_POST['send'])){ //traiter mail } J'espère que ça t'aidera ! Bon courage,
  24. Salut ! Pourquoi tu chmod pas le dossier en question avec un 655 ( de mémoire ) ? Bon courage !
×
×
  • Create New...