Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2006, 08h02   #1
Membre du Club
 
Avatar de stomerfull
 
Inscription : septembre 2005
Messages : 243
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 243
Points : 42
Points : 42
Par défaut [SQL] instabilité d'une application

Bonjour à tous
jai fait une application de gestion de document
quand je fait un ajout de document ca marche, ca insere dans la table
et ca affiche ce qui est dans la table

apres quand j'ajoute un second document
ca insere dans la table mais ca n'affiche pas
pourkoi cette instabilité

voici le code qui affiche :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
echo"<table cellSpacing=1 cellPadding=1 width=\"65%\"  bgColor=#BEC6CE border=\"0\"align=\"center\">
        <tbody>
            <tr>
                <td align=middle width=\"53%\" class=\"CaseLibM\" align='center' bgColor=#BEC6CE>"; include("menu/menudyn.php");echo"</td>
                <td align=right width=\"53%\"  bgColor=#BEC6CE></td>
            </tr>
            <tr>
                <td class=\"titrecel\" colSpan=2>
                    <table width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\">
                      <tr>
                        <td width=\"2%\" valign=\"center\"><a class=titre href=\"ajoutdoc.php?id={$id}\"><img src=\"img\modifier.gif\"  border=\"0\"></a></td>
                        <td width=\"23%\" valign=\"center\"><a class=titre href=\"ajoutdoc.php?id={$id}\">Modifier</a></td>
                        <td width=\"2%\" valign=\"center\"><a class=titre href=\"javascript&#058;supprimer({$id},'{$dbresult[1]}')\"><img src=\"img\supprimer.gif\" border=\"0\"></a></td>
                        <td width=\"23%\" valign=\"center\"><a class=titre href=\"javascript&#058;supprimer({$id},'{$dbresult[1]}')\">Supprimer</a></td>
                        <td width=\"2%\" valign=\"center\"><a class=titre href=\"javascript&#058;email()\"><img src=\"img\outlook.gif\" border=\"0\"></a></td>
                        <td width=\"23%\" valign=\"center\"><a class=titre href=\"javascript&#058;email()\">Envoyer un email</a></td>
                        <!--<td width=\"2%\" valign=\"center\"><a class=titre href=\"archivage.php?id={$id}\"><img src=\"img\archive.gif\" border=\"0\"></a></td>
                        <td width=\"23%\" valign=\"center\"><a class=titre href=\"archivage.php?id={$id}\">Archiver le document</a></td>-->
                      </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td bgColor=#BEC6CE colSpan=2>
                    <table width=\"100%\" border=\"0\" bgColor=#BEC6CE >
                      <tr>
                        <td valign=\"top\" width=\"60%\"><table cellSpacing=1 cellPadding=1 width=\"100%\" bgColor=#BEC6CE  border=0 >
                            <tbody>
                              <tr valign=\"top\">
                                <td width=\"40%\"><a class=\"mininews\">Titre du document :</td>
                                <td width=\"60%\" valign=\"center\"><a class=\"txtgris\">{$dbresult[1]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Identifiant :</a></td>
                                <td><a class=\"txtgris\" valign=\"center\">{$dbresult[0]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Description :</a></td>
                                <td><a class=\"txtgris\" valign=\"center\">{$dbresult[2]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Date de parution :</a></td>
                                <td><a class=\"txtgris\" valign=\"center\">{$dbresult[3]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Date ajout:</a></td>
                                <td><a class=\"txtgris\" valign=\"center\">{$dbresult[4]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Source : </a></td>
                                <td><a class=\"txtgris\" valign=\"center\">{$dbresult[5]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Nombre de pages : </a></td>
                                <td><a class=\"txtgris\" valign=\"center\">{$dbresult[7]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Mots cl&eacute;s : </a></td>
                                <td><a class=\"txtgris\" valign=\"center\">{$dbresult[8]}</a></td>
                              </tr>
                              <tr valign=\"top\">
                                <td><a class=\"mininews\">Archivé : </a></td>
                                <td><a class=\"txtgris\" valign=\"center\">";
                                    if($dbresult[6])
                                    {
                                        echo"oui";
                                    }
                                    else
                                    {
                                        echo"non";
                                    }
                                echo"</a></td>
                              </tr>
                            </tbody>
                          </table>

cest au niveau de se code que le probleme se pose
comment optimisé ce code
merci pour votre aide
stomerfull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 08h14   #2
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
où est ta boucle ?
où est ta connexion mysql ?
où est ta requête ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 08h38   #3
Membre du Club
 
Avatar de stomerfull
 
Inscription : septembre 2005
Messages : 243
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 243
Points : 42
Points : 42
le code ci dessus est le code de liredocument.php

voici le code faisant l'insertion dans 2 tables fichiers et documents

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<html>
<head>
<title>Traitement de l'ajout d'un document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
	include("connexion.php");
	include("config.php");
	include("fonctions.php");
	$Data['Fichiers'] = $HTTP_POST_VARS['Fichiers'];
	$Data['SousCategories'] = $HTTP_POST_VARS['SousCategories'];
	function insertion_fichier($NomFicSel,$id_doc)
	{
 
			global $Rep_Temp,$Rep,$Rep_lien;
			if(file_exists($Rep_Temp.$NomFicSel))
			{
				$point=strpos($NomFicSel,".");
				if($point)
				 {
					$extension=substr($NomFicSel,$point);
					$NomFic=substr($NomFicSel,0,$point);
				 }
				$NomComplet = $NomFic."_".$id_doc.$extension;
				$Fic=$Rep.$NomFic."_".$id_doc.$extension;
				copy($Rep_Temp.$NomFicSel,$Fic);
				unlink($Rep_Temp.$NomFicSel);
				$Fic=addslashes($Fic);
				$lien=$Rep_lien.$NomComplet;
				$rst="INSERT INTO fichiers (adresse_fichier,id_document,extension_fichier,nom_fichier,lien_fichier) VALUES ('$Fic','$id_doc','$extension','$NomComplet','$lien')";
				mysql_query($rst);
			}
 
	}
	if($id==0)
	{
 
		$DateParution = date_fr_to_us($DateParution);
		$DateArchivage = date_fr_to_us($DateArchivage);
		$sql = "SELECT id_document FROM documents WHERE motscles_document='$MotsCles'";
		$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
		$res = mysql_num_rows($req);
    if($res!=0)  
        {
            echo '<font color="red">Désolé, mais cette URL existe déjà dans notre base.</font>';
        }
    else  
        {     
		  $rst="INSERT INTO documents (nom_document,desc_document,date_parution_document,date_archivage_document,source_document,archive_document,numero_document,motscles_document) VALUES ('".$Nom."','".$Desc."','".$DateParution."','".$DateArchivage."','".$Source."','0','".$NumSource."','".$MotsCles."')";
 
		   mysql_query($rst);
        }
 
		$id=mysql_insert_id();
 
		$i=1;
 
		while($Data['Fichiers'][$i]!="")
		{
			insertion_fichier($Data['Fichiers'][$i],$id);
			$i++;
		}
 
 
		$i=0;
		while($Data['SousCategories'][$i]!="")
		{
			$id_souscat = $Data['SousCategories'][$i];
			$rst="INSERT INTO _souscategories (id_document,id_souscategorie) VALUES ('$id','$id_souscat')";
			echo"{$rst}<br>";
			mysql_query($rst);
			$i++;
		}
	}
	else
	{
 
		$DateParution = date_fr_to_us($DateParution);
		$DateArchivage = date_fr_to_us($DateArchivage);
		$rst = "UPDATE documents SET nom_document='$Nom',desc_document='$Desc',date_parution_document='$DateParution',date_archivage_document='$DateArchivage',source_document='$Source',archive_document='0',numero_document='$NumSource',motscles_document='$MotsCles' WHERE id_document='$id'";
		mysql_query($rst);
		$i=1;
		while($Data['Fichiers'][$i]!="")
		{
			if(file_exists($Rep.$Data['Fichiers'][$i])==false)
			{	
				insertion_fichier($Data['Fichiers'][$i],$id);
			}
			$i++;
		}		
		$i=0;
		$rst="DELETE FROM _souscategories WHERE id_document = '$id'";
		echo"{$rst}<br>";
		mysql_query($rst);
		while($Data['SousCategories'][$i]!="")
		{
			$id_souscat = $Data['SousCategories'][$i];
			$rst="INSERT INTO _souscategories (id_document,id_souscategorie) VALUES('$id','$id_souscat')";
			echo"{$rst}<br>";
			mysql_query($rst);
			$i++;
		}		
 
 
 
	}
	reload("liredocument.php?id=".$id);
?>
</body>
</html>

et la connexion.php

Code :
1
2
3
4
5
6
7
8
9
10
<?
	$user = "root";
	$host = "localhost";
	$password = "";
	//Connexion à la base de données
	$connexion = mysql_connect($host,$user,$password) or die ("<H1>Erreur de connexion</H1><br>\n");
	mysql_select_db("base",$connexion);
	//Affiche toutes les erreurs sauf les notices
	error_reporting(E_ALL & ~E_NOTICE);
?>
merci
stomerfull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 08h46   #4
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
et l'affichage se fait où ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 08h51   #5
Membre du Club
 
Avatar de stomerfull
 
Inscription : septembre 2005
Messages : 243
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 243
Points : 42
Points : 42
apres avoir ajouter
l'user est rediriger vers liredocument.php
dessus le code
stomerfull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 08h59   #6
Membre expérimenté
 
Avatar de dj-julio
 
Inscription : décembre 2005
Messages : 742
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : décembre 2005
Messages : 742
Points : 576
Points : 576
tu insères bien tes données dans une bas sql ?
les images sont récuperées dans un dossier ou dans cette base ?

si c'est le cas, je ne vois pas ta requête SELECT qui lit dans ta base les infos de l'images, etc .. ?? je suis bigleux ?
__________________
Mon Site/Cv.
dj-julio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 09h19   #7
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Remplace :
Par :
Code :
mysql_query($rst) or die(mysql_query());
Je vote pour un duplicate.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 09h27   #8
Membre du Club
 
Avatar de stomerfull
 
Inscription : septembre 2005
Messages : 243
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 243
Points : 42
Points : 42
oui le probleme se trouve au niveau de l'affichage des images
les images sont recupéreé dans un dossier mais pas dans une base

voici le code affichant limage
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
	  			//affichages des dossiers trouvés
				 $body .= $ligne[1] . "%0a";			
				 //echo "<a href='join/'>$ligne[1].$ligne[7]</a></br>";
				 echo"<tr><td><a class=\"mininews\" href=\"join/{$ligne[1]}\" target=\"_blank\">";
				 switch($ligne[2])
										{
											case ".doc" : echo"<img src=\"img/word.gif\" border=\"0\">";
												break;
											case ".pdf" : echo"<img src=\"img/acrobat.gif\" border=\"0\">";
												break;
											case ".xls" : echo"<img src=\"img/excel.gif\" border=\"0\">";
												break;
											case ".ppt" : echo"<img src=\"img/powerpoint.gif\" border=\"0\">";
												break;
											case ".jpg" : echo"<img src=\"img/texte.png\" border=\"0\">";
												break;
											case ".bmp" : echo"<img src=\"img/texte.png\" border=\"0\">";
												break;
											case ".jpeg" : echo"<img src=\"img/texte.png\" border=\"0\">";
												break;
											default : echo"<img src=\"img/texte.png\" border=\"0\">";
 
										}
										echo"&nbsp;{$ligne[1]}</a> ";
 
			?>
merci
stomerfull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 09h30   #9
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
Tssss

Citation:
Envoyé par kirkis
mysql_query($rst) or die(mysql_query());
Pas reveillé ce matin.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2006, 09h32   #10
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Rofl, je me suis habitué à plus pertinent comme remarque... J'étais HS, désolé.

Je corrobore l'avis de dj-julio : je ne vois pas la requête de sélection de tes images, ou plutôt je la vois mais tu ne parcours pas les résultats.
Quel est l'intérêt de faire un SELECT * si c'est simplement pour compter le nombre d'enregistrements ? Tu gaspilles des ressources, à moins que tu n'aies omis de nous montrer la boucle qui parcourt les résultats.

M'enfin bon, pour ma défense, ça sert toujours de mettre le or die...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h55.


 
 
 
 
Partenaires

Hébergement Web