IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] instabilité d'une application


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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:supprimer({$id},'{$dbresult[1]}')\"><img src=\"img\supprimer.gif\" border=\"0\"></a></td>
                            <td width=\"23%\" valign=\"center\"><a class=titre href=\"javascript:supprimer({$id},'{$dbresult[1]}')\">Supprimer</a></td>
                            <td width=\"2%\" valign=\"center\"><a class=titre href=\"javascript:email()\"><img src=\"img\outlook.gif\" border=\"0\"></a></td>
                            <td width=\"23%\" valign=\"center\"><a class=titre href=\"javascript: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

  2. #2
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    où est ta boucle ?
    où est ta connexion mysql ?
    où est ta requête ?

  3. #3
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    le code ci dessus est le code de liredocument.php

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  4. #4
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    et l'affichage se fait où ?

  5. #5
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    apres avoir ajouter
    l'user est rediriger vers liredocument.php
    dessus le code

  6. #6
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    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 ?

  7. #7
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Remplace :
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($rst) or die(mysql_query());
    Je vote pour un duplicate.

  8. #8
    Membre éclairé Avatar de stomerfull
    Inscrit en
    Septembre 2005
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 307
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  9. #9
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Tssss

    Citation Envoyé par kirkis
    mysql_query($rst) or die(mysql_query());
    Pas reveillé ce matin.

  10. #10
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    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...

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/03/2009, 07h36
  2. déployer sql server avec une application?
    Par badge2033 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 02/07/2008, 09h15
  3. Réponses: 3
    Dernier message: 30/04/2008, 17h44
  4. Connecté une base de donnée sql server v7 à une application Jbuilder9
    Par souheilzouabizouabi dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 15/04/2008, 12h31
  5. Réponses: 10
    Dernier message: 21/01/2008, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo