Aller au contenu

patricia.b

Webmaster Régulier
  • Compteur de contenus

    65
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par patricia.b

  1. Bonjour, Tout d'abord une précision : dans mon premier message, j'ai parlé au nom de plusieurs de mes clients en écrivant "nous" ou "nôtre"... Lorsque je parle d'hébergeur, je parle de la société qui héberge encore les sites de mes clients, moi je ne suis plus chez lui mais chez Evxonline qui me donne entière satisfaction. Mes clients, eux, ont préféré attendre la date d'échéance de leurs hébergements respectifs pour me rejoindre chez Evxonline. Je ne confonds pas hébergement avec webmaster ni domaine (ni registrar...). Cet hébergeur suisse, donc, utilisait les serveurs de l'un de ses confrères français à qui il avait repris une partie de sa clientèle... Or, fin janvier, il a cessé sa collaboration avec son confrère et donc, transféré les sites de ses clients ailleurs (je ne sais pas où) et ne nous a pas communiqué les nouvelles adresses IP pour pouvoir "travailler" sur les sites déposés chez lui. C'était l'hébergeur suisse qui se chargeait du renouvellement des domaines... mais ce n'est pas ce problème de domaine qui me préoccupe, cela, je l'ai réglé. Je n'ai qu'un interlocuteur contre qui me retourner, cet hébergeur suisse, mais celui-ci est aux abonnés absents... Même l'entreprise qui lui a cédé sa clientèle n'a plus de contacts avec lui... Je sais que ce n'est pas simple d'avoir recours à la Justice et nous nous en passerions volontiers, mais quelle autre solution ont mes clients pour récupérer leurs "biens" ? Je n'ai pas la possibilité d'aller jusqu'à Gland (canton de Vaud) pour aller discuter avec cet hébergeur...
  2. Bonjour, Merci pour cette réponse. Mon intention est bien de créer une association. c'est cela que je sous-entendais par "action collective".
  3. Bonjour, Dreamweaver, depuis longtemps et, je l'espère, encore pour très longtemps !
  4. Bonjour, Nous sommes plusieurs "victimes" d'un hébergeur suisse qui a changé de prestataire pour ses serveurs fin janvier 2015. Depuis : - soit notre site n'est plus en ligne ; - soit il est impossible d'accéder aux fichiers déposés par ftp car cet hébergeur ne nous a pas communiqué les nouvelles données pour ce faire ; - il n'a pas renouvelé un nom de domaine qui, pourtant, lui avait été payé ; - il ne répond pas aux tickets déposés sur son site ; - il ne répond pas au méls qu'on lui envoie... Nous allons entamer une action collective contre cet hébergeur et si vous aussi pensez faire partie de ces "victimes", faites-vous connaître en m'adressant un message personnel et en me précisant le nom de l'hébergeur concerné afin que j'ai confirmation qu'il s'agit là de la même entreprise. Bonne journée, Patricia
  5. Oui, à plusieurs reprises pour m'aider à régler des problèmes sur des scripts de mon site (principalement sur le mode d'envoi des méls en php), lesquels étaient liés au changement d'hébergeur. Réponses rapides et service très efficace.
  6. C'est ce que j'ai fait depuis presque 5 mois et, pour le moment, je n'ai qu'à m'en féliciter. J'ai, d'ailleurs déjà conseillé Evxoline à plusieurs personnes et entreprises et l'une d'elles a suivi mon conseil.
  7. Bonjour Nicolas, Merci pour cette réponse. J'ai eu des échos équivalents et très bons pour ces deux sites, mais je vais choisir Evxonline car il a l'avantage d'être en France car, d'après mes renseignements, Ex2Hosting a aussi des serveurs en France, son SAV est au Québec, donc il est plus disponible pour répondre l'après-midi ou la nuit, because décalage horaire... Et puis, je préfère "acheter" français...
  8. Parce que, pour faire une analogie, je préfère aller chez le petit magasin de quartier plutôt que dans l'hypermarché, la relation client n'est pas la même...
  9. Bonjour, Depuis que l'entreprise chez qui mes sites étaient hébergés a revendu une partie de son activité (les hébergements mutualisés) à une autre société, je n'ai que des problèmes avec cette dernière. J'ai donc décidé de changer d'hébergeur mais j'hésite entre deux entreprises : Ex2Hosting et Evxonline. Si vous êtes ou avez été hébergés chez l'un ou l'autre de ces hébergeurs, pouvez-vous me faire part de vos avis à leur sujet, afin que je fasse le bon choix ? Par avance, merci de vos commentaires.
  10. Bonjour, En ce qui me concerne, j'utilise depuis plusieurs années et sans aucun problème cette solution gratuite en php qui permet d'envoyer autant de messages que l'on souhaite, de créer autant de listes différentes de destinataires. Elle nécessite d'avoir une base de données sur son site.
  11. Bonjour, En lisant le premier message de ce "fil", ma première réaction a été : pourquoi ne pas être allé chercher vos données directement sur le site du cnfdi plutôt que sur celui dont vous fournissez le lien. Ensuite, le fichier que j'ai téléchargé propose 18 tomes alors que celui du cnfdi n'en propose que 15, et encore avec possibilité de réduire puisque le cnfdi propose aussi des formations adaptées à vos besoins. Voyez plutôt la page consacrée à cette sormation sur leur site. Ensuite, je suis de l'avis d'Arlette : il est tout à fait possible d'apprendre seul : je l'ai fait, et si la "vieille" que je suis en a été capable, n'importe qui le peut... Evidemment, cela demande de la patience, de l'entêtement, de fréquentes visites sur les sites déjà cités, ainsi que sur celui du Zero... On essaie... on rate, on essaie encore et encore et l'on apprend de ses erreurs... mais quelle joie lorsque, ensuite, vous écrivez un nouveau script et que le résultat escompté est là, tel que vous l'imaginiez, et vous savez quoi, il marche du premier coup ! Il n'est pas facile de vous conseiller : en ce qui me concerne, il n'y a rien de tel que d'apprendre "sur le tas", je retiens mieux... mais cela ne veut pas dire que c'est votre cas. Il n'y a que vous qui puissiez décider (je sais, je ne vous aide pas...). La solution que je vous propose : essayez par vous-même pendant, disons, 3 mois et voyez si vous arrivez à avancer. Si ce n'est pas le cas, et si la création de site vous attire toujours, alors tournez-vous vers une formation "accompagnée" telle que celle du cnfdi. Quant à en faire votre futur métier... cela ne dépendra que de vous et de vos capacités... Les webmasters sont nombreux, certains bossent beaucoup et d'autres pas, c'est comme dans tous les métiers : la qualité du travail, le rapport qualité/prix et la réponse aux attentes des clients font la sélection...
  12. Bonjour, Je viens de me rendre compte que je n'avais pas remercié Dedtronchin pour sa réponse du 15 octobre 2008 à l'appel à l'aide que j'avais fait... Toutes mes plus plates excuses, et comme il n'est jamais trop tard pour bien faire : MERCI et encore MERCI !!! Bonne fin de journée, Patricia
  13. Bonjour, Merci à vous pour ces messages dont nous tiendrons compte. Pour répondre à vos réactions : - le code postal : dès le début il a été prévu de mettre la carte d'identité complète du village : code postal, code INSEE, nom des habitants, population, longitude et latitude, altitudes mini et maxi, nom de la communauté de communes à laquelle nous appartenons... - quand la mairie ne décroche jamais le téléphone et que vous souhaitez les joindre par mail : d'une part nous avons un répondeur téléphonique pour prendre les messages lorsque les lignes de la mairie sont occupées ou pour les appels en dehors des heures d'ouverture, et l'adresse de courriel principale de la mairie est déjà utilisée par les habitants de la commune, mais le site aura, en plus, une possibilité d'envoi de mails à Mme le Maire, aux adjoints et conseillers municipaux, ainsi qu'aux différents services de la Mairie. - le site de l'Office de tourisme : il est mis à jour régulièrement par son personnel. - les associations ne seront pas oubliées, nous y avions déjà pensé - pour les habitants : les délibérations du conseil municipal, les travaux dans la commune, les infos courantes municipales... Cela aussi était prévu. Nous allons proposer les demandes d'actes d'Etat civil en ligne, les appels d'offres ; mettre aussi les festivités et animations, nos bulletins municipaux en téléchargement ainsi que le plan du village, les formulaires de demande de certains documents administratifs. Et surtout, nous voulons faire un site vivant et mis à jour régulièrement... Bonne journée à tous.
  14. Bonjour, Conseillère municipale de l'un des "Plus beaux villages de France", je suis chargée, avec une équipe, de concevoir le futur site internet de la mairie de notre commune de 1265 habitants. Mais nous n'arrivons pas à nous mettre d'accord sur son contenu qui dépend du type de visiteurs qu'un site municipal reçoit en priorité. Et là est le problème : nous ne connaissons pas les attentes des Internautes pour ce genre de site. Nous avons visité un grand nombre de sites de communes touristiques, de tailles similaires à notre village, mais n'y avons pas trouvé notre "bonheur", car certains villages n'ont pas d'office de tourisme, alors que d'autres en ont, et, pour certains, cet office de tourisme est intégré au site municipal (ce qui ne sera pas le cas du nôtre). Nous avons juste besoin de réponses aux deux questions de ce sondage. Bien sûr, si vous souhaitez développer vos réponses, nous apprécierons grandement. Merci par avance de votre aide. Bonne journée.
  15. Bonne et heureuse année à tous. Je souhaite que 2009 voit se réaliser tous vos désirs, qu'ils soient personnels ou professionnels...
  16. Bonjour, Merci de cette précision. Dans les débuts du site (qui n'est pas encore en ligne), certaines sous-catégories n'auront pas encore de produits d'enregistrés et ma table sbbproduit contiendra des "sid" nuls. Donc, sans le faire volontairement, je pense avoir utilisé la bonne fonction...
  17. Bonsoir, Merci pour cette requête et son commentaire. Après 4 heures de tâtonnements, j'avais abouti, la nuit dernière, à ceci (qui fonctionne mais est plus long) : $sql = 'SELECT nom, COUNT(libelle) AS nombre_produits FROM sbbsouscat LEFT JOIN sbbproduit ON sbbsouscat.id =sbbproduit.sid GROUP BY sbbsouscat.id'; Bonne fin de journée.
  18. Dans un sens, je comprends, mais dans un autre, c'est dommage, car une réponse avec les commentaires qui vont avec m'auraient permis d'apprendre... ce que je n'ai pas réussi à faire en lisant le manuel mysql....
  19. Merci de cette réponse. Mais, du fait que j'ai des infos à prendre sur deux tables : - le nom des sous-catégories dans la table "sbbsouscat" - et le nombre de produits par sous-catégories dans la table "sbbproduit" je suppose qu'il doit aussi falloir faire une jointure entre les tables, et là, c'est pas encore vraiment "mon truc"...
  20. patricia.b

    Problème de requête

    Bonjour, Cela fait plusieurs jours que j'essaie de trouver la bonne requête à faire (qui est certainement très simple), et je me décide à solliciter votre aide. J'ai, d'une part, la table "sbbsouscat" (sous-catégories) qui contient, entre autres : - id - nom ... et, d'autre part, la table "sbbproduit" (produits) qui contient, entre autres : - id - sid (= id table sbbsouscat) - libelle ... Je voudrais afficher une liste des sous-catégories, avec, pour chacune d'elles, entre parenthèses, le nombre de produits qu'elle comprend. Ce qui devrait donner, par exemple : Produits de senteur (14) Pigments (10) etc Je sais faire la requête pour extraire, lister et afficher les sous-catégories de la table "sbbsouscat" seules, mais je ne sais pas la requête à faire pour que la liste des sous-catégories et le nombre de produits extrait de la table "sbbproduit" se retrouvent l'un après l'autre, sur la même ligne. Merci par avance de votre coup de main.
  21. Bonjour, MDEDTRONCHIN, merci de cette réponse "nocturne" mais qui n'aide pas vraiment la débutante en php que je suis. Parce que je voulais pas vous infliger, dans ma question" la lecture de données qui vous seraient inutiles, je n'ai mis que les deux "formulaires" concernés et qui sont dans la même page (mais peut-être que j'appelle formulaire une partie du script qui ne s'appelle pas ainsi...) : - celui qui "demande" la quantité (le premier code de ma question), qui commence par "<form action="$_SERVER['PHP_SELF']"... et - celui dans lequel je devrais placer le résultat pour l'envoyer à mon panier, via une page fonctions qui commence par "<a href="panier.php?action=ajout&l=..." puis le code que j'ai réalisé pour faire le lien entre les deux et qui n'envoie pas le résultat de mon "premier formulaire" vers le second. Je pensais que cela suffirait puisque mon problème se situait là. Mea culpa... Voici donc l'intégralité de ma page, le code concerné se trouvant dans sa dernière partie : <?php session_start(); $id = $_GET['id']; require("configuration.php"); $result = mysql_query("SELECT $sbbproduit.id, $sbbproduit.hid, $sbbproduit.sid, $sbbproduit.nom, $sbbproduit.ancienprix, $sbbproduit.spec, $sbbproduit.photoarticle, $sbbproduit.frais, $sbbproduit.promo, $sbbproduit.prix, $sbbproduit.stock, $sbbproduit.visu, $sbbfrs.frsid, $sbbfrs.societe FROM $sbbproduit, $sbbfrs WHERE $sbbproduit.frsid= $sbbfrs.frsid AND $sbbproduit.id='$id'"); $row = mysql_fetch_row($result) or die('Erreur SQL !<br />'.$result.'<br />'.mysql_error()); ?> <table width="100%" border="0"> <tr><?php //affichage du produit séléctionné avec bouton commande : if ($row[6] != "nul") { $split = explode("../", $row[6]); $row[6] = $split[1]; $img = "<img src=\"$row[6]\" width='120' height='120' target='blank'>"; $image2 = "<a href='$row[6]' target='blank'><font class='moyen'>Photo taille réelle</font></a><br>"; } else { $img = "<img src=\"$images/na.jpg\" width=100 border=0>"; } echo "<td colspan='2'>$img</a><br>$image2</td>"; ?></tr> <tr><?php $nom = $row[3]; ?> <td valign="top"><font class="moyen"><b>Article : </b></font></td> <?php echo "<td><font class='moyen'>$nom</font></td>"; ?></tr> <tr> <td valign="top"><font class="moyen"><b>Descriptif : </b></font></td> <? $descriptif = $row[5]; $descriptif = str_replace("[retour]","<br>",$descriptif); $descriptif = str_replace("[gras]","<b>",$descriptif); $descriptif = str_replace("[/gras]","</b>",$descriptif); echo "<td><font class='moyen'> $descriptif</font></td>"; ?></tr> <tr> <td valign="top"></td> <td></td> </tr> <? $fraisproduit1 = $row[7]; $fraisproduit2 = sprintf("%0.2f", $fraisproduit1); ?> <tr> <td valign="top"><font class="moyen"><b>Frais :</b></font></td> <? echo "<td><font class='moyen'>$fraisproduit2 $devises</font></td>"; ?></tr> <tr> <td valign="top"><font class="moyen"><b>Prix TTC : </b></font></td> <? $price = $row[9]; $price = sprintf("%0.2f", $price); $totalgeneral1 = ($price + $fraisproduit2); $totalgeneral2 = sprintf("%0.2f", $totalgeneral1); echo "<td><font class='moyen' color=red><b>$price $devises TTC</font></b></td>"; echo "<tr><td><font class='moyen'><b>Total TTC :</b></font></td>"; echo "<td><font class='moyen'><b>$totalgeneral2 $devises</b></font></td>"; ?></tr> <? if ($row[10] == "oui") { echo "</tr><tr>"; echo "<td><font color=\"red\">Article non disponible</font></td>"; } if ($row[8] == "oui") { $ancienprix = $row[4]; $ancienprix = sprintf("%0.2f", $ancienprix); echo "</tr><tr><td><font class='moyen'><b>Prix public : </b></font></td>"; echo "<td><font class='moyen'><b>$ancienprix $devises TTC</b></font></td>"; } $gain = ($row[9] - $row[4]); $gain = sprintf("%0.2f", $gain); ?> <tr> <td valign="top"><font class="moyen"><b>Economie réalisée : </b></font></td> <?php echo "<td><font class='moyen'><b>$gain $devises</b></font></td>"; ?></tr> <?php $fournisseur = $row[13]; ?> <tr> <td valign="top"><font class="moyen"><b>Fournisseur : </b></font></td> <?php echo "<td><font class='moyen'><b>$fournisseur</b></font></td>"; ?></tr> </table> <form action="$_SERVER['PHP_SELF']" method="POST"> <b>Quantité :</b> <input type="text" name="qte" value="1" size="3"> <input type="image" name="image" value="ok" src="images/panier_bleu_plein.png" align="absmiddle" border="0" height="35" width="35"> </form> <? if (isset($_POST['image']) && $_POST['ok']=="Envoyer!" && $_POST['qte']=="1") { ?> <a href="panier.php?action=ajout&l=<?php echo $nom; ?>&f=<?php echo $fournisseur; ?>&q=<?php echo $qte; ?>&p=<?php echo $price; ?>&g=<?php echo $gain; ?>" onclick= window.open(this.href, '', 'toolbar="no " location="no " directories="no " status="yes " scrollbars="yes " resizable="yes " copyhistory="no " width="600 " height="350'); return false;"</a> <? } // deconnexion de la base mysql_close(); ?>
  22. Bonjour, J'ai une page avec un formulaire pour recueillir un nombre (une quantité). Je voudrais récupérer le résultat de ce formulaire et aller l'intégrer dans un autre formulaire situé sur la même page, au milieu d'autres données, qui elles ne proviennent pas d'un formulaire mais je n'y parviens pas. J'ai l'impression qu'après divers essais infructueux, je me suis mélangé complètement les pattes... Donc, le voudrais envoyer le résultat de ce formulaire (la quantité "qte") qui devra "alimenter" mon panier : <form action="$_SERVER['PHP_SELF']" method="POST"> <b>Quantité :</b> <input type="text" name="qte" value="1" size="3"> <input type="image" name="image" value="ok" src="images/panier_bleu_plein.png" align="absmiddle" border="0" height="35" width="35"> </form> dans celui-là, situé dans la même page : <a href="panier.php?action=ajout&l=<?php echo $nom; ?>&f=<?php echo $fournisseur; ?>&q=<?php echo $qte; ?>&p=<?php echo $price; ?>&g=<?php echo $gain; ?> onclick= window.open(this.href, '', 'toolbar="no " location="no " directories="no " status="yes " scrollbars="yes " resizable="yes " copyhistory="no " width="600 " height="350'); return false;"</a> J'ai donc écrit ceci : <form action="$_SERVER['PHP_SELF']" method="POST"> <b>Quantité :</b> <input type="text" name="qte" value="1" size="3"> <input type="image" name="image" value="ok" src="images/panier_bleu_plein.png" align="absmiddle" border="0" height="35" width="35"> </form> <? if (isset($_POST['image']) && $_POST['ok']=="Envoyer!" && $_POST['qte']=="1") { ?> <a href="panier.php?action=ajout&l=<?php echo $nom; ?>&f=<?php echo $fournisseur; ?>&q=<?php echo $qte; ?>&p=<?php echo $price; ?>&g=<?php echo $gain; ?> onclick= window.open(this.href, '', 'toolbar="no " location="no " directories="no " status="yes " scrollbars="yes " resizable="yes " copyhistory="no " width="600 " height="350'); return false;"</a> <? } et comme le résultat est une redirection vers une page d'erreur... j'ai besoin de votre aide. Je sais que mon second formulaire (celui qui alimente le panier) fonctionne car je l'ai testé sans y mettre de donnée concernant la quantité. Merci par avance de votre coup de main...
  23. Bonjour, Mes confrères conseillers municipaux m'ont demandé de mettre en ligne un agenda... comme je n'ai pas trop de temps car je travaille sur un autre projet, je suis allée chercher un script tout fait et je me retrouve avec deux erreurs (mais je suppose que la deuxième découle de la première) : Warning: imagepng() [function.imagepng]: Unable to open 'weeks/2_2008_00.png' for writing in /home/roussillon/domains/roussillon-en-provence.fr/public_html/planning/index.php on line 92 Warning: filesize() [function.filesize]: Stat failed for weeks/2_2008_00.png (errno=2 - No such file or directory) in /home/roussillon/domains/roussillon-en-provence.fr/public_html/planning/index.php on line 95 Voici le script de la page d'index : <?php // Pas de cache header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); // Require include("planning_require.php"); // Connection à la base connectBase(); // On démarre une session session_start(); // Si la session n'existe pas ou si l'on deconnect if(!isset($_SESSION['s_groupe']) or $action=="deconnect") { // On recupére le nom de la page en cours $page = basename($_SERVER['SCRIPT_NAME']); // Si pas d'action ou deconnection if(!$action or $action=="deconnect") { // On detruit la session existante session_destroy(); // On prépare la liste des groupes $groupeSelect = selectToHtml("planning_groupes","s_groupe",0,1,5,"1"); // On inclus cette liste include("tmpl/planning_accueil_cnt.html"); } // Si on veux se connecter if($action=="connect") { // On enregistre la nom du groupe comme variable de connection session_register("s_groupe"); // On redirige l'utilisateur echo "<script language='javascript'>document.location.href='$page';</script>"; } } else { // Init des variables par défaut $s_groupe = $_SESSION['s_groupe'] ; $s_semaine = strftime("%U",mktime(0,0,0,$mon,$day,$year)); $s_annee = $year ; if(!$s_annee ) $s_annee = date("Y") ; if(!$s_semaine) $s_semaine = strftime("%U",time()) ; // Planning de base $testImg = planningBase(); // Selection des infos pour la semaine demandée $infosSelect = selectColsTableWhere("planning_horaires.jour_semaine, planning_horaires.heure_debut, planning_horaires.heure_fin, planning_horaires.info1, planning_horaires.info2, planning_horaires.info3", "planning_horaires,planning_liens_grp_hor", "planning_liens_grp_hor.groupe = '$s_groupe' AND planning_liens_grp_hor.horaire = planning_horaires.id AND planning_horaires.no_semaine = '$s_semaine'", ";"); // Parcours des infos selectionnées while($infosRow = mysql_fetch_row($infosSelect)) { // Ajout des infos à l'image de base $infos = "$infosRow[3] - $infosRow[4]"; $testImg = ajouteHoraire($testImg,$infosRow[0],$infosRow[1],$infosRow[2],$infos); } $nom_grp_req = selectTableWhere("planning_groupes","id = '$s_groupe'",";"); $infos_groupe = mysql_fetch_row($nom_grp_req); $nom_grp = $infos_groupe[1]; // Plus besoin de la base. On déconnecte deconnectBase(); // On donne un nom à l'image $nomFich = "weeks/".$s_groupe."_".$s_annee."_".$s_semaine.".png"; // On la sauvegarde sur le serveur imagepng($testImg, "$nomFich"); [b]//LIGNE 92[/b] // On récupére la taille de l'image $sizeImg = filesize("$nomFich"); [b]//LIGNE 95[/b] if($day && $mon && $year){ $posTopDate = 25 ; }else{ $posTopDate = -1000 ; } // En-tête - fichiers html include("planning_calendrier.php"); include("tmpl/planning_header.html"); include("tmpl/planning_body.html"); } ?> et celui de la page de fonctions qui est en "require" dans la page planning_require.php. <?php /****************************************************/ /* FONCTIONS POUR LES REQUETES BdD */ /****************************************************/ // Connection à la base de donnée function connectBase() { mysql_connect(HOSTNAME,USERNAME,PASSWORD); mysql_select_db(DATABASE); } // Insertion dans la table function insertTable($nomTable,$valeurs) { $requette = "INSERT INTO $nomTable VALUES ".$valeurs; $resultat = mysql_query($requette); if($resultat) return true ; return false ; } // Selection d'une table function selectTable($nomTable,$param) { $requette = "SELECT * FROM $nomTable ".$param; $resultat = mysql_query($requette); return $resultat ; } // Selection d'une table avec where function selectTableWhere($nomTable,$valeurs,$param) { $requette = "SELECT * FROM $nomTable WHERE ".$valeurs." ".$param; $resultat = mysql_query($requette); return $resultat ; } // Selection de colonnes dans une table avec where function selectColsTableWhere($cols,$nomTable,$valeurs,$param) { $requette = "SELECT $cols FROM $nomTable WHERE ".$valeurs." ".$param; $resultat = mysql_query($requette); return $resultat ; } // Retournée le nombre d'éléments d'une requete function numInTableWhere($nomTable,$valeurs,$param) { $requette = "SELECT * FROM $nomTable WHERE ".$valeurs." ".$param; $resultat = mysql_query($requette); $nbresult = mysql_num_rows($resultat); return $nbresult ; } // Supprime un element dans une base de données function deleteFromWhere($nomTable,$valeurs) { $requette = "DELETE FROM $nomTable WHERE ".$valeurs; $resultat = mysql_query($requette); if($resultat) return true ; return false ; } // Met à jour un element dans la base function updateSetWhere($nomTable,$set,$where) { $requette = "UPDATE $nomTable SET ".$set." WHERE ".$where; $resultat = mysql_query($requette); if($resultat) return true ; return false ; } // Deconnection de la base function deconnectBase() { mysql_close(); } // Crée une liste de formulaire HTML à partir d'une base de donnée function selectToHtml($nomTable,$nomSelect,$colValue,$colOption,$height,$valSelected) { $html = "<select name=\"$nomSelect\" size=\"$height\">\n"; $requette = "SELECT * FROM ".$nomTable." ;"; $resultat = mysql_query($requette); while($ligne = mysql_fetch_row($resultat)) { if($ligne[$colValue]!=$valSelected) { $html .= "<option value=\"$ligne[$colValue]\">$ligne[$colOption]</option>\n"; } } $html .= "</select>\n"; return $html ; } //// Crée une liste de formulaire HTML à partir de numéros function selectNumToHtml($debut,$fin,$nomSelect,$valSelected) { $html = "<select name=\"$nomSelect\">\n"; for($i=$debut;$i<=$fin;$i++){ if($i==$valSelected) { $html .= "<option value=\"$i\" selected>$i</option>\n"; } else { $html .= "<option value=\"$i\">$i</option>\n"; } } $html .= "</select>\n"; return $html ; } // Crée un nouvel ID d'une base function newIdForTable($cols,$nomTable) { $requette = "SELECT $cols FROM $nomTable ;"; $resultat = mysql_query($requette); $max = 0; while($ligne = mysql_fetch_row($resultat)){ if($ligne[0]>=$max) $max=$ligne[0]; } return ($max+1) ; } /****************************************************/ /* FONCTIONS POUR LA CREATION DU PLANNING */ /****************************************************/ // Affiche un planning de base (vide) function planningBase() { // Appel des variables globales global $cExText, $cExBg, $cExCadre; global $cadreH,$sizeMarge,$topMarge,$LRMarge,$sizeV,$sizeHorV; global $joursSem,$police,$heureDep ; // Initialisations de variables pour la création de l'image $arraySem = explode("|","$joursSem"); $countSem = count($arraySem); $totalMrg = ($countSem + 1) * $sizeMarge; $cadreV = $sizeV - (2 * $sizeMarge) - $topMarge; $sizeH = $LRMarge * 2 + $totalMrg + ($cadreH * $countSem); // Crétion de l'image $image = imagecreate($sizeH,$sizeV); // Attribution des couleurs à l'image $cText = imagecolorallocate($image, $cExText[0], $cExText[1], $cExText[2]); $cBg = imagecolorallocate($image, $cExBg[0], $cExBg[1], $cExBg[2]); $cCadre = imagecolorallocate($image, $cExCadre[0], $cExCadre[1], $cExCadre[2]); // Couleur du fond imagefilledrectangle($image, 0, 0, $sizeH,$sizeV,$cBg); // Ajout des jours et des colonnes for($i=0;$i<$countSem;$i++) { if($i!=0){ $cadreMarge = $sizeMarge * $i; } $x1Cadre = $LRMarge + $cadreMarge + ($cadreH * $i); $x2Cadre = $x1Cadre + $cadreH ; $y1Cadre = $topMarge + $sizeMarge ; $y2Cadre = $y1Cadre + $cadreV ; imagefilledrectangle($image, $x1Cadre, $y1Cadre, $x2Cadre, $y2Cadre, $cCadre); imagestring ($image, $police, $x1Cadre, 5, $arraySem[$i], $cText); } $j = $y1Cadre ; $h = $heureDep ; while($j<$sizeV && $h<=24) { imageline ($image, $LRMarge, $j, $sizeH, $j, $cBg); imagestring ($image, $police, 5, $j, $h."h00", $cText); imagestring ($image, $police, $sizeH-$LRMarge, $j, $h."h00", $cText); $j += $sizeHorV ; $h++; } // On retourne l'image finale return $image; } // Convertie un decimal en heure u type hh:mm function convertIntToHor($val) { $valArray = explode(".","$val"); if(!$valArray[1]) { $min = "00" ; } else { $min = (int)((($valArray[1]*10)/100)*60) ; } return $valArray[0]."h".substr($min, 0, 2); } // Permet d'ajouter une plage horaire sur l'image function ajouteHoraire($image,$nJour,$hDeb,$hFin,$infos) { // Appel des variables globales global $cExHor, $cExText, $cExCadre, $cExBg ; global $cadreH, $sizeMarge, $topMarge, $sizeHorV,$LRMarge ; global $police, $retChariot, $heureDep; global $margeTxt,$cdrBdr; // Initialisations de variables (horaire, texte et infos) $x1Hor = $LRMarge + ($sizeMarge * ($nJour-1)) + ($cadreH * ($nJour - 1)) ; $x2Hor = $x1Hor + $cadreH ; $y1Hor = ($hDeb - $heureDep) * $sizeHorV + $topMarge + $sizeMarge ; $y2Hor = ($hFin - $hDeb) * $sizeHorV + $y1Hor ; $textX = $x1Hor + $margeTxt; $textY = $y1Hor + $margeTxt; $infosHor = convertIntToHor($hDeb)." - ".convertIntToHor($hFin)."||$infos"; // Attribution des couleurs à l'image $cText = imagecolorallocate($image, $cExText[0], $cExText[1], $cExText[2]); $cHor = imagecolorallocate($image, $cExHor[0], $cExHor[1], $cExHor[2]); $cBg = imagecolorallocate($image, $cExBg[0], $cExBg[1], $cExBg[2]); $cCadre = imagecolorallocate($image, $cExCadre[0], $cExCadre[1], $cExCadre[2]); // Affichage de l'horaire et du texte imagefilledrectangle($image, $x1Hor, $y1Hor, $x2Hor, $y2Hor, $cText); imagefilledrectangle($image, $x1Hor+$cdrBdr,$y1Hor+$cdrBdr,$x2Hor-$cdrBdr,$y2Hor-$cdrBdr,$cHor); stringRet($image,$police,$textX,$textY,$infosHor,$cBg,$retChariot,"||"); return $image; } // Permet d'afficher un texte avec des retours à la ligne function stringRet($image,$police,$x,$y,$text,$color,$sret,$cret) { $array_txt = explode("$cret","$text"); $count_arr = count($array_txt); for($i=0;$i<=$count_arr;$i++) { imagestring ($image,$police,$x,$y,$array_txt[$i],$color); $y = $y + $sret; } } ?> Merci par avance à celle ou celui qui pourra me donner un coup de main... Bonne fin de journée.
  24. Grand merci, cela fonctionne maintenant avec $dossier = './upload/';
×
×
  • Créer...