Vous n'êtes pas identifié(e).
Bonjour à tous,
je bloque depuis hier pour renommer les 4 fichiers envoyé sur le serveur et dans la base.
Pour l'instant, je suis revenu en arriere, je mets le nom directement, mais je préferais avoir la date + 01 02 03 04.jpg
}
}
$query = "
INSERT INTO matable
(date, ip, pseudo, password, region, dept,
etablissement, gerant, adresse, postal, ville, tel, port, fax, email, internet,
prixmin, prixmax, prestation01, prestation02, prestation03, prestation04, description,
installation01, installation02, installation03, installation04, installation05, installation06, installation07, installation08, installation09, installation10, installation11,
installation, equipement, service01, service02, service03, service04, service05, service06, service, aFile, aFile2, aFile3, aFile4)
VALUES
(NOW(), '$ip', '$pseudo', '$password', '$region', '$dept',
'$etablissement', '$gerant', '$adresse', '$postal', '$ville', '$tel', '$port', '$fax', '$email', '$internet',
'$prixmin', '$prixmax', '$prestation01', '$prestation02', '$prestation03', '$prestation04', '$description',
'$installation01', '$installation02', '$installation03', '$installation04', '$installation05', '$installation06', '$installation07', '$installation08', '$installation09', '$installation10', '$installation11',
'$installation','$equipement','$service01','$service02','$service03','$service04','$service05','$service06', '$service' ";
$query .= isset($addedFiles['aFile']) ? ", '".$addedFiles['aFile']."'" : ", ''";
$query .= isset($addedFiles['aFile2']) ? ", '".$addedFiles['aFile2']."'" : ", ''";
$query .= isset($addedFiles['aFile3']) ? ", '".$addedFiles['aFile3']."'" : ", ''";
$query .= isset($addedFiles['aFile4']) ? ", '".$addedFiles['aFile4']."'" : ", ''";
$query .= " )";
Bonjour à tous,
j'ai un formulaire pour que les internautes puisses poser des articles sur mon site. Et je me suis poser la question, comment pouvoir laisser les retours à la ligne pour une meilleure visibilité.
Pour l'instant, dans mon form j'ai :
Et dans le fichier d'insertion recup.php j'ai :
$query = "INSERT INTO agenda (date, ip, jour, mois, annee, titre, description, contact, rubrique, region, aFile) VALUES(NOW(),'$ip','$jour','$mois','$annee','$titre','$description','$contact','$rubrique','$region','${date}-agenda.jpg' )";
Je sais qu'il faut utiliser la fonction nl2br($texte); mais je ne sais pas du tout comment l'utiliser et à quel moment ...
Merci d'avance de m'aiguiller.
Hello, bon maintenant, ça marche... mais il doit y avoir un moyen beaucoup moins gourmand en terme de ressources que l'amas de requête que j'ai fait pour chaque jour.
Une boucle par date du jour ? Ou une boucle simple jusqu'au 31 enieme jour quoi qu'il arrive...
//comptage des entrées pour le 01
$requete="SELECT
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid ='1') AS champs1,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid in ('2','3','4') ) AS champs2,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 = 'rep01' ) AS champs3,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 in ('rep02','rep02','glace','rep03','autre') ) AS champs4,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'non' AND quest05 in ('oui3mois','oui6mois','ouiannee') ) AS champs5,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-01%' AND valid in ('1','2','3','4') ) AS champs6 ";
$resultat = mysql_query($requete);
$ligne = mysql_fetch_object($resultat);
echo $ligne->CHAMPS1;
echo "<tr><td class=td1> 01$madate</td>";
echo '<td class=td1> ',$operateur,' </td>';
echo "<td class=td1> $ligne->champs1 </td>";
echo "<td class=td1> $ligne->champs2 </td>";
echo "<td class=td1> $ligne->champs3 </td>";
echo "<td class=td1> $ligne->champs4 </td>";
echo "<td class=td1> $ligne->champs5 </td>";
echo "<td class=td1> $ligne->champs6 </td></tr>";
//comptage des entrées pour le 02
$requete="SELECT
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid ='1') AS champs1,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid in ('2','3','4') ) AS champs2,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 = 'rep01' ) AS champs3,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'oui' AND quest03 in ('rep02','rep02','glace','rep03','autre') ) AS champs4,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid = '1' AND quest01 = 'oui' AND quest02 = 'non' AND quest05 in ('oui3mois','oui6mois','ouiannee') ) AS champs5,
(SELECT COUNT(ID) AS Count FROM `prospect` WHERE operateur = '$operateur' AND date LIKE '%$annee-%$mois-02%' AND valid in ('1','2','3','4') ) AS champs6 ";
$resultat = mysql_query($requete);
$ligne = mysql_fetch_object($resultat);
echo $ligne->CHAMPS1;
echo "<tr><td class=td1> 02$madate</td>";
echo '<td class=td1> ',$operateur,' </td>';
echo "<td class=td1> $ligne->champs1 </td>";
echo "<td class=td1> $ligne->champs2 </td>";
echo "<td class=td1> $ligne->champs3 </td>";
echo "<td class=td1> $ligne->champs4 </td>";
echo "<td class=td1> $ligne->champs5 </td>";
echo "<td class=td1> $ligne->champs6 </td></tr>";
Merci, je regarde tout cela desuite.
Bonjour à tous.
Me revoila avec une nouvelle question.
J'ai pour l'instant un COUNT qui s'affiche suivant des choix fait au travers de menu déroulant, cela compte le nombre de fiches validées par opérateur suivant une date choisie . Voila ma requête :
C'est pas très joli, il y a mieux, mais ça fonctionne.
J'aimerais donc faire maintenant un tableau avec les dates du jour suivant le mois choisi, qui afficherait le nombre de fiches validées ainsi que le nombre de fiches jetées (valid ='2'). Mais je ne vois pas du tout comment, à part reconstruire une requête pour chaque jour et chaque cellule. Avantage, j'ai un champ datetime...
Ex :
2010-05-25 validée 10 jetée 12
2010-05-26 validée 20 jetée 03
2010-05-27 validée 24 jetée 01
2010-05-28 validée 30 jetée 21
Un ARRAY avec un DISTINCT peut être ? Si vous pouviez m'aiguiller sur la marche à suivre, ça serait super. J'ai bcp de mal avec COUNT.
Je vais me jeter par la fenetre
je viens de voir que je construis ma variable madate, mais qu'elle n'a plus lieu d'être ...
Bonjour à tous,
je reviens avec ma requete, (elle fonctionne) mais bon, comme je l'ai fait avec mes connaissances en PHP ça doit pouvoir s'écrire autrement et être surtout mieux optimisé.
Rappel:
Donc j'ai un champ SQL au format DATETIME, je choisis au travers de plusieurs listbox l'operateur, l'année, puis le mois, puis le jour (l'heure ça viendra après) et je compte le nombre d'entrée.
Je fabrique ma variable $madate comme suis :
Et puis je fais ma requete :
Ca fonctionne, c'est sur, mais ça doit pas être optimum comme bouzin. Et puis en cherchant j'ai vu des écritures sous la forme
Bon, je bloque toujours, ça doit être de la façon dont je crée ma variable $madate ...
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" id="tableprincipale">
<tr>
<td width="100" class="td4">Opérateur : </td>
<td width="100" class="td5">
<label>
<select name="operateur" id="operateur">
<option value="">Choix</option>
<option value="operateur01">operateur 01</option>
<option value="operateur02">operateur 02</option>
<option value="operateur03">operateur 03</option>
<option value="operateur04">operateur 04</option>
</select>
</label> </td>
<td class="td5">Année</td>
<td class="td5"><select name="annee" id="annee">
<option value="2009">2009</option>
<option value="2010">2010</option>
<option value="20111">2011</option>
</select></td>
<td class="td5">Mois</td>
<td class="td5"><select name="mois" id="mois">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
</select></td>
<td class="td5">Jour</td>
<td class="td5"><select name="jour" id="jour">
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
</select></td>
</tr>
<tr>
<td colspan="10" class="td4"><input type="submit" name="Submit" value="Envoyer" /></td>
</tr>
</table>
</form>
<br />
<?php
// connexion a la base
require_once("connexion.php");
$BD_link = mysql_connect("${'BD_host'}${'BD_port'}", $BD_login, $BD_pass) or die("Connexion de la base impossible : ". mysql_error());
$operateur = $_POST["operateur"];
$annee = $_POST["annee"];
$mois = $_POST["mois"];
$jour = $_POST["jour"];
$madate = $jour." ".$mois." ".$annee;
//comptage des entrées
//$jour." ".$mois." ".$annee;
$req = mysql_query("SELECT COUNT(*) as Count FROM `prospect` WHERE valid ='1' AND operateur = '$operateur' AND date = '$madate' " );
if ($req)
{
$res = mysql_fetch_array($req);
echo '<center>L\' ',$operateur,' à traité</center>';
echo '<center>Il y a '.$res["Count"].' annonce(s)</center>';
}
?>
Jc, merci pour ce complément d'information. Bon, je pleure un peu pour afficher les stats par listbox. je vais poster mon code au cas ou.
Merci, je vais modifier cela au plus vite. Mon update fonctionne, mais ça doit être une tolérance du serveur... jusqu'au jour ou ...
Pierrot > effectivement, c'est quand même clair, c'est moi qui le suis de moins en moins
Donc j'ai effectivement changer mon champ DATE en DATETIME. Je garde mon champ heure tel qui est même si je n'en vois plus réellement l'utilité.
Comme je ne fais pas vraiment un INSERT mais un UPDATE :
Et ça fonctionne, reste à voir les fonctions que tu me cites JC (DAY(), DAYOFWEEK(), MONTH(), YEAR(), HOUR() etc.) que je connais pas car jamais exploité
Dans tout les cas, merci de vos contributions, j'avance bien.
Hello JC,
AWstats , je vais chercher des infos dessus, car je ne connais pas du tout.
Alors pour la date, est ce que j'ai fait une erreur, j'ai prévu 2 champ :
Est qu'il faut mieux que j'utilise dans SQL un champ DATETIME OU DATE suffit ? Je ne vois pas bien la différence entre les 2.
Hello Alnoss,
non, non, je ne veux pas de vrai stats, c'est réservé à une utilisation interne afin d'affiner l'ergonomie.
Pour le BDLINK, j'avoue ne pas y avoir pensé un seul instant...
Hello à tous,
je me suis mis à vouloir afficher des stats, et donc, j'ai lu et essayer d'utiliser COUNT, mais je bloque sur la façon de faire pour afficher les resultats en triant les données par des listbox contenant l'année, le mois, le jour, et l'heure....
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0" id="tableprincipale">
<tr>
<td width="300" class="td4">Opérateur : </td>
<td class="td5">
<label>
<select name="operateur" id="operateur">
<option value="operateur01">operateur 01</option>
<option value="operateur02">operateur 02</option>
<option value="operateur03">operateur 03</option>
<option value="operateur04">operateur 04</option>
</select>
</label> </td>
</tr>
<tr>
<td colspan="4" class="td4"><input type="submit" name="Submit" value="Envoyer" /></td>
</tr>
</table>
</form>
<br />
<?php
// connexion a la base
require_once("connexion.php");
$BD_link = mysql_connect("${'BD_host'}${'BD_port'}", $BD_login, $BD_pass) or die("Connexion de la base impossible : ". mysql_error());
$operateur = $_POST["operateur"];
echo $operateur ;
//comptage des entrées
$req = mysql_query("SELECT COUNT(*) as Count FROM `prospect` WHERE valid ='1' AND operateur = '$operateur' " );
if ($req)
{
$res = mysql_fetch_array($req);
echo '<center>Il y a '.$res["Count"].' annonce(s) en attente de validation</center>';
}
?>
Ma methode est loin d'être parfaite (un self aurait été bienvenue mais bon, ça me va), mais ça compte le nombre validé par l'opérateur que je selectionne. Il me reste pouvoir afficher le resultats en rajoutant par le annee/mois/jour. Mais dans ma table, j'enregistre la date au format date 2010-05-07.
Merci d'avance
Non, finalement, c'est bon, j'avais une ligne qui se balladait $_SESSION['operateur'] = $_POST['operateur']; en doublons....
Re :Bon, finalement, ça devenait trop contraignant d'utiliser un hidden pour faire passer ma variable, je suis repassé aux sessions.
Seulement je rencontre quelques difficultés du à un manque de connaissance.
J'en suis la :
1/ formulaire :
Identification simple de l'opérateur, j'enregistre la variable operateur en session
On valide
2 / formulaire :
J'affiche le nom de l'opérateur sans soucis
Choix du département
On valide
affichage de la liste > sélection d'une entrée >un nouveau formulaire au travers duquel on peut compléter l'entrée.
Jusque la tout va bien. Sauf qu'une fois le dernier formulaire complété, il faut repartir à la liste des départements, et sélectionner le département à nouveau (opération qui va vite devenir contraignante).
Donc, ni une ni deux, je refais :
1/ formulaire :
Identification simple de l'opérateur, on stocke en session
On valide
2 / formulaire :
J'affiche le nom de l'opérateur sans soucis
Choix du département je le stocke dans une session
Affichage de la liste et j'ai bien le nom du departement qui s'affiche avec un echo, mais j'ai perdu le nom de l'opérateur ...
Donc, est que c'est possible de stocker differente varaible en session à differentes étapes ? Ou alors je passe le département en cookie ?
Je teste avec un hidden, ça limite pas mal, surtout que je suis obligé de le rappeller régulierement... je vais voir avec un cookie, jamais utilisé jusqu'a présent.
Merci pour ta réponse, je vais me noter les différences dans un coin.
Hum, l'input hidden, très bonne idée, je pense que je vais laissé tombé les sessions car pas de risques de hack.
En fait, le groupe d'utilisateur est déja connu, il sera composé de 5 personnes, c'est juste pour éviter qu'ils aient à retaper leurs pseudos. Et ça va me permettre de savoir qui écrit quoi et de faire des stats. Ce n'est pas pour une appli ouverte au web.
Encore merci.
Bonjour à tous,
je suis entrain de créer plusieurs petit formulaire, mais avec le nom de la personne qui poste que je souhaite garder, pour l'insérer dans les prochains formulaires.
Par exemple :
1er formulaire :
Liste déroulante : toto1, toto2, toto3
On cliques sur envoyer et on arrive sur le second qui affiche "Bonjour toto2" remplissez le formulaire :
Et ce deuxième formulaire insère des infos dans une bdd avec le nom toto2.
Le mieux, c'est une session ou d'utiliser simplet un get pour récupérer le nom ? (En sachant que la personne ne doit pas se retrouver déconnecté, même si elle reste 2 heures à la machine à café )
Bon ben ça marche... je comprends pas ce que j'ai fait ...
Bonjour à tous,
j'avais pas mal progressé ce matin et je me suis embrouillé.
Donc j'ai une listbox qui par defaut affiche la valeur enregistré :
Jusque la, ça fonctionne, puis, pour mettre à jour cette liste, je récupère les valeurs contenu dans la table sans doublons...
Et c'est la que je me suis embrouillé ... parce que je n'arrive pas à récuperer ma valeur par defaut.
$rq = "SELECT DISTINCT nomcuisine FROM produits ORDER BY ID";
$result = mysql_query($rq)
or die ("Exécution de la requête impossible");
//DISTINCT permet d'afficher qu'une fois les données
echo "<select name=\"nomcuisine\" id=\"nomcuisine\">";
echo"<br><br>";
while ($liste=mysql_fetch_array($result))
{
extract($liste);
echo "<option value='$nomcuisine'>$nomcuisine</option>";
}
echo " </select>";
?>
Car je n'arrive pas à concilier les deux. Afficher par defaut le nom enregistré, et fouiller dans la table pour trouver toutes les valeurs et les proposer.
Chose importante, le nom du champ est nomcuisine. dpt n'a aucune valeur.
A y est, tout fonctionne
On m'a filé un énorme coup de main car je bloquais grave. Voila la source si ça peut servir à quelqu'un :
}
}
$query = "
INSERT INTO matable
(date, promotion, ordrepromo, nouveautes, ordrenouveaute, rubrique,
sousrubriques, marque, nomcuisine, encastrable, posable, nom, reference,
description, note, avis, cond, type, garantie, label, consommation, dimension, colori,
prix, promo ,promosolde, aFile, aFile2, aFile3, aFile4, aFile5, aFile6, aFile7)
VALUES
(NOW(), '$promotion', '$ordrepromo', '$nouveautes', '$ordrenouveaute', '$rubrique',
'$sousrubriques', '$marque', '$nomcuisine', '$encastrable', '$posable', '$nom', '$reference',
'$description','$note','$avis','$cond','$type','$garantie','$label','$consommation','$dimension','$colori','$prix','$promo','$promosolde'";
$query .= isset($addedFiles['aFile']) ? ", '".$addedFiles['aFile']."'" : ", ''";
$query .= isset($addedFiles['aFile2']) ? ", '".$addedFiles['aFile2']."'" : ", ''";
$query .= isset($addedFiles['aFile3']) ? ", '".$addedFiles['aFile3']."'" : ", ''";
$query .= isset($addedFiles['aFile4']) ? ", '".$addedFiles['aFile4']."'" : ", ''";
$query .= isset($addedFiles['aFile5']) ? ", '".$addedFiles['aFile5']."'" : ", ''";
$query .= isset($addedFiles['aFile6']) ? ", '".$addedFiles['aFile6']."'" : ", ''";
$query .= isset($addedFiles['aFile7']) ? ", '".$addedFiles['aFile7']."'" : ", ''";
$query .= " )";
Mais si je ne déclare pas ma variable il m'insére juste la 1er lettre. Franchement je vois pas ou ça bloque ...
Effectivement $val n'a rien à faire ici, donc j'ai écrit :
Mais rien ... toujours la première lettre qui s'inscrit.
J'ai trouvé ce que tu me disais :
#
$aFile7=$val['aFile7'];
mais ça ne change pas mon problème de nom ou juste la 1er lettre s'insère dans la table.