Vous n'êtes pas identifié(e).
Bonjour,
Je cherche à enregistrer les résultats d'un formulaire PHP dans un fichier texte, mais avec une ligne par champ de formulaire.
Mon formulaire possède 8 lignes, je souhaire me retrouver avec un fichier txt de 8 lignes distinctes.
Pour le moment, je n'arrive qu'à tout mettre à la suite sur la même ligne.
Quelqu'un a une idée ou bien un exemple svp ?
Bonsoir, ta solution fonctionne. Merci beaucoup pour ton aide ainsi qu'aux autres personnes qui avaient répondu.
Bonsoir,
Voici comment se présente donc le contenu de la table interessante. (Pour chaque journée jouée ici de 1 à 5, la colonne de droite donne le classement de l'équipe. Pour cette colonne, les données sont justes et de toute façon, ce n'est pas là que se trouve le problème.
Ensuite, mon code php simplifié :
$class=array();
$equipe=array();
$result = $db->query('SELECT t1.id_club, t1.club, t1.championnat, t1.actif, t2.id_club, t2.journee, GROUP_CONCAT( t2.classement ) FROM '.$_PRE.'clubs AS t1, '.$_PRE.'graph AS t2 WHERE t1.id_club = t2.id_club AND t2.journee < "'.$journee.'" GROUP BY t1.club');
while ($row = $result->fetch()) {
$equipe[] = ucfirst($row['1']);
$class[] = $row['6'];
}
print_r($class);
et donc les valeurs retournées sont celles de mon 1er message et début de ce post avec certaines équipes où le classement apparait dans le bon ordre et d'autres dans un mauvais ordre. Ou plus exactement décalé. Ex : 34512 au lieu de 12345.
J'espère que mes explications sont claires ...
Merci pour votre aide
Bonsoir,
J'ai une requête comme ceci :
qui me donne ce résultat dans PhpMyAdmin :
Ce qui m'interesse, c'est la colonne group_concat. Ici les valeurs semblent bonnes.
Quand je les affiche avec un print_r en sortie de ma boucle, j'obtiens ceci :
On voit que certaines valeurs sont bonnes et que d'autres ne sont pas dans le bon ordre. Par exemple, dans PhpMyAdmin pour Ajaccio j'ai 14,11,12,10,8 et dans print_r j'ai 11,12,10,8,14. En revanche, pour Paris c'est bon.
Qui peut me dire où se trouve mon erreur ? et pourquoi certaines valeurs sont bonnes surtout.
Merci d'avance
Bonjour,
J'ai un formulaire déjà rempli avec des valeurs se trouvant dans une base de connées MySql
J'aimerais que l'on puisse modifier le formulaire en réaffichant les valeurs déjà enregistrées.
Pour les champs de type input, pas de souci, mais je bute sur une liste déroulante :
<select name='photo' id='photo'>
<option value=''></option>
<?php
$repertoire = "images/";
if (is_dir($repertoire)){
$dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file
if(!in_array($file, array('.','..'))){ //on enleve le parent et le courant '. et ..'
echo "<option value='".$file."'>".$file."</option>\n";
}
}
}
?>
</select>
Comment puis-je réafficher le champs déjà validé dans la BDD tout en laissant le choix de modifier à partir de la liste déroulante ?
Merci d'avance de votre aide
Bonjour,
Merci pour la réponse fort claire.
Néanmoins, il y a quelque chose de curieux. Toutes mes tables (De tous les programmes) sont en latin1_swedish_ci. Tous les champs de texte comportent des accents. Tous les accents sont visibles ET dans la BDD, ET dans les programmes qui sont tous encodés en UTF8. Le seul qui me pose problème, c'est celui-ci.
C'était un peu le pourquoi de ma question.
Bonjour,
J'ai un problème sur un programme avec les caractères accentués.
1er point:
Le champ de ma table est : titlePage varchar(255) latin1_swedish_ci
Quand je regarde le contenu du champ, j'ai par ex: L'équipe Séniors 1 féminines (Dép. 1) avec les accents visibles...
Quand je suis sur mon site dans le programme, les accents se transforment comme ceci : L'quipeSniors 1 fminines (Dp. 1)
Et pourtant mon fichier .php est bien converti en UTF8 sans BOM et j'ai bien : <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> dans mon entête.
2ème point:
J'ai remarqué que si dans la BDD je change é par é, ça fonctionne.
Ca, je peux donc le modifier, n'ayant pas des dizaines de millions d'enregistrements:-)
Mais dans ce cas, comment faire en sorte que les enregistrements à venir utilisent ce codage des caractères ? que rajouter avant les insert ?
Quelqu'un a une idée svp pour ces 2 points différents ?
Bonjour,
Merci pour ta réponse très claire.
Je vais donc m'y mettre petit à petit
Bonjour,
Je lis ici et là le bien fondé de PDO et surtout des requêtes préparées en ce qui concerne la sécurité.
Mon site n'est pas du tout fait de cette manière (hélas...)
J'aimerais donc savoir s'il est possible de changer ses requêtes au "coup par coup" parce que ça va me prendre un bout de temps.
Je sais que l'on peut utiliser une connexion "type PDO" avec des requêtes normales: Exemple
et requête "normale"
Ca fonctionne très bien.
Donc est-ce que je peux changer mes requêtes au fil du temps sans incidence pour les utilisateurs ?
Bonjour,
J'avour que je ne comprends pas vraiment ce que tu me dis... C'est quoi FOREIGN KEY ?
Bonjour,
Pour le point 2 de ta réponse, c'est une erreur de ma part. Je voulais dire qu'il y avait plusieurs équipes du même club dans la même poule et que donc ma requête ne m'en donne qu'un.
Pour le point 3, je souhaite avoir tous les championnats.
Clairement, je souhaite pouvoir afficher la dernière journée jouée des cadets, des séniors 1, des minimes.... tout ça dans la même requête. Et par ex pour les séniors 1, il y a 2 équipes du même club dans le même championnat.
Voici enfin la structure exacte des tables
-- --------------------------------------------------------
--
-- Structure de la table `rencontres`
--
CREATE TABLE `rencontres` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`rencontre` VARCHAR(8) NOT NULL DEFAULT '',
`ladate` DATE NOT NULL DEFAULT '0000-00-00',
`categorie` VARCHAR(6) NOT NULL DEFAULT '',
`equipe1` VARCHAR(30) NOT NULL DEFAULT '',
`equipe2` VARCHAR(30) NOT NULL DEFAULT '',
`journee` INT(2) NOT NULL DEFAULT '0',
`resultat` CHAR(3) NOT NULL DEFAULT '',
`score` VARCHAR(40) NOT NULL DEFAULT '',
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Table des rencontres, calendrier,scores, resultats, dates...' AUTO_INCREMENT=133 ;
Bonsoir,
je possède 2 tables avec comme champs importants pour chacune:
la table rencontres est composée des champs resultat, journee, ladate, categorie, score, equipe1, equipe2
La table equipes comporte les champs abrev, nomreel
Je souhaite afficher la dernière journée des matchs joués de chaque équipe.
Voici ma requête:
Ma requête fonctionne bien si chaque catégorie ne joue qu'un seul match. Seulement ce n'est pas toujours le cas. Certaines catégories jouent plusieurs matchs et dans ce cas, mon GROUP BY t1.categorie n'est pas valable.
Et c'est là que je n'arrive pas à avoir mes résultats. Pouvez vous (encore) m'aider svp ?
Merci d'avance
Bonjour,
Effectivement, je pense avoir compris mon erreur (Qui heureusement n' pas d'incidence parce qu'aucun jour a le même nom/prenom)
J'ai encore pas mal de choses à apprendre. D'ailleurs, c'est l'objet de mon nouveau post :-)
Bonjour,
J'ai réussi à faire ce que je voulais avec un petit programme en php comme ceci:
J'ai rajouté un champ id_joueur dans la table lnv_parcours en ensuite, j'ai lancé ce petit programme
Bon, ce n'est ni optimisé ni "joli" mais ça a eu le mérite de marcher et c'était pour mes besoins personnels, pas pour faire tourner mon programme ensuite.
Mais pour citer le message de Nicolas, effectivement, quand je regarde mes 3 tables concernées, on voit bien que des informations sont dupliquées. Je vais optimiser tout ça.
Merci de votre aide.
Bonsoir,
Je possède 2 tables comme ceci:
table effectifs:
et la table parcours comme ceci:
Dans la table parcours, je souhaiterais rajouter le champ id_joueur correspondant à la table effectifs, ce qui donnerait ceci:
Mes 2 tables sont déjà remplies et contiennent des milliers d'enregistrements, c'est pour celà que je souhaite faire la modif autrement qu'à la main.
Est-ce possible directement avec Mysql ?
Merci d'avance de votre aide
J'ai trouvé. J'ai remplacé
par
Bonjour,
Exemple pour : BOULC'H Hervé
Dans ma base, la valeur est entrée comme ceci BOULC\'H Hervé
Dans ma liste, je cache les apostrophes avec un stripslashes...
Dans mon lien, ça met http://fr.wikipedia.org/wiki/Herv%E9+Boulc%5C%27h et wikipedia cherche Hervé+Boulc\'h
ce qui evidemment il ne trouve pas
Comment résoudre ce problème svp ?
C'est mis (en ligne 99)
J'avais voulu le mettre en rouge dans le forum, mais ça a merdé
Bonjour,
J'ai un formulaire d'envoi de mail qui utilise un éditeur wysiwyg pour le textarea afin d'envoyer des mails en HTML.
Le problème est que je reçois les mails en texte normal...
Je pense que ça vient des headers mais je ne vois pas trop oùu cà cloche.
C'est un script que j'ai récupéré et adapté.
Voici la partie d'envoi du mail:
if (!ereg($regex,$pseudo)){
die('Pseudo non conforme');
}
elseif (!ereg($regex,$objet)){
die('Objet non conforme');
}
elseif (!ereg($regex,$message)){
die('Message non conforme');
}
elseif (!preg_match($regex_mail, $emetteur)){
die('Email non conforme');
}
$piecejointe = "";
if(!$erreur && strlen($_FILES['fichier']['name'])) {
$fichier = $_FILES['fichier'];
$name = $fichier['name'];
$temp = $fichier['tmp_name'];
$size = $fichier['size'];
# séquence de caractères
$destination = $rep.$name;
# upload du fichier sur le serveur
if($size > $taillemax)
$erreur = "Taille du fichier $name > ".(int)($taillemax/1024)." Ko";
elseif(!@is_uploaded_file($temp))
$erreur = "Téléchargement du fichier $name impossible";
elseif(!@move_uploaded_file($temp, $destination))
$erreur = "Problème de transfert du fichier $name";
else {
//===== On vérifie maintenant le type de fichier
if(!function_exists('mime_content_type')) {
function mime_content_type($fichier) {
# ajouter autant de combinaisons que souhaitées
$mime = array(
'.gif' => 'image/gif',
'.jpg' => 'image/jpeg',
'.jpeg' => 'image/jpeg',
'.jpe' => 'image/jpeg',
'.bmp' => 'image/bmp',
'.png' => 'image/png',
'.tif' => 'image/tiff',
'.tiff' => 'image/tiff',
'.swf' => 'application/x-shockwave-flash',
'.doc' => 'application/msword',
'.xls' => 'application/vnd.ms-excel',
'.ppt' => 'application/vnd.ms-powerpoint',
'.pdf' => 'application/pdf',
'.ps' => 'application/postscript',
'.eps' => 'application/postscript',
'.rtf' => 'application/rtf',
'.zip' => 'application/zip',
'.rar' => 'application/rar',
'.html' => 'text/html',
'.htm' => 'text/html',
'.txt' => 'text/plain',
);
# par défaut
if(!$type = $mime[strrchr($fichier,'.')]) $type = "application/octet-stream";
return $type;
}
}
$mimetype = mime_content_type($destination);
# lecture et conversion du fichier
if($openf = @fopen($destination, "rb")) {
$fichier = fread($openf, filesize($destination));
@fclose($openf);
# encodage norme RFC 2045
$piecejointe = chunk_split(base64_encode($fichier));
} else {
$erreur = "Problème de lecture du fichier $name";
}
}
}
//===== Ajout du message
if(!$erreur) {
$message_final = "";
$message_final .= strip_tags($message); // valeur du message lui meme
# en-têtes
$headers = "MIME-Version: 1.0\n";
$headers .= 'From: XXXXX <'.$emetteur.'>'."\r\n";
# si pièce jointe on ajoute l'en-tête spécifique avec séparateurs
if(strlen($piecejointe)) {
$boundary = md5(uniqid(rand())); // séparateur
$headers .= 'Content-Type: multipart/mixed;'."\n".' boundary="'.$boundary.'"';
$message_final =
"This is a multi-part message in MIME format.\n--$boundary\n".
"Content-Type: [b][color=#e3281c]text/html[/color][/b]; charset=ISO-8859-1\r\n\n".
"Content-Transfer-Encoding: 8bit\r\n\n".
"$message_final\n\n--$boundary\n".
"Content-Type: $mimetype; name=\"$name\"\r\n".
"Content-Transfer-Encoding: base64\r\n".
"Content-Disposition: attachment; filename=\"$name\"\r\n\n".
"$piecejointe\n--".
$boundary."--\n";
}
$message_final =stripslashes($message_final);
//===== On récupère les adresses mail dans la BDD
require_once('config/config.inc.php');
foreach ($_POST['dest'] as $id_user) {
$requete = "SELECT Adresse_mail AS email FROM adherents WHERE ID='$id_user'";
$result=mysql_query($requete) or die('Erreur SQL ! Adherents '.mysql_error());
while ($destinataire = mysql_fetch_object($result)) {
if (mail($destinataire->email, $objet, $message_final, $headers)) {
$msg = 'Le '.date("d-m-Y").' à '.date("H:i").'. Expéditeur: '.$emetteur.' -> Envoi réussi à '.$destinataire->email.'. Pièce jointe: '.$name.'';
}else{
$msg = '*** ECHEC Le '.date("d-m-Y").' à '.date("H:i").'. Expéditeur: '.$emetteur.' -> Envoi vers '.$destinataire->email.'. Pièce jointe: '.$name.'';
}
$etat = "mail.txt";
$inF = fopen($etat,"a");
fputs($inF,$msg."\n");
fclose($inF);
// @unlink($destination); // suppression de la pièce jointe ou non du repertoire d'upload
}
}
?>
Petite précision, si je text/plain, les sauts de ligne sont bien respectés. Mais si je mets text/html, tout s'affiche sur la même ligne.
Quelqu'un a une idée svp ?
J'ai trouvé finalement en épluchant le code du programme et en testant pas à pas.
ce qui me donne bien ma date en question
Bonsoir,
J'ai cette valeur 1303210589 dans un champ date d'une table (Champ de type bigint).
Dans le programme, ça correspond à "19 avril 2011 à 12:56"
Mis à part le formatage des données quelle est la fonction qui pourrait me redonner cette date à partir de ce champ ?
J'ai bien vu la fonction gmstrftime mais je n'arrive à rien de bon avec.
Merci d'avance de votre aide
Bonjour,
J'ai regardé un peu cette directive avec quelques exemples. Mais tout tourne autour de la modification de php.ini, chose que je ne peux pas faire.
Y a t'il une autre solution ?
Bonjour,
Sur la page d'accueil de mon site (A la racine donc) j'ai inclus ce petit bout de programme:
J'aimerais qu'il soit inclus également dans toutes les autres pages qui sont des répertoires, des sous répertoires etc etc...
Y a t'il une autre soution plus simple et sure à 100% en PHP plutôt que d'utiliser des "../" ou "../../" ?
Merci d'avance
Merci pour le coup de main, ça fonctionne. Et merci aussi pour l'explication.
Bonjour,
J'ai cette requête qui pourtant me parait simple:
qui me donne cette erreur:
La boulette doit vous sauter aux yeux, mais moi je ne vois rien
Vous avez une idée svp ?