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 :

Base de données non agrémentée [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 30
    Par défaut Base de données non agrémentée
    Bonjour,

    j'avance petit à petit dans la recréation de la structure de base de donnée.

    Voici mon probleme du jour:

    j'ai sur le site une fonction qui me permet d'envoyer des photos dans une galerie classé par catégorie, hors lors que je télécharge une photo tout semble fonctionner, sauf que la base de donné n'est pas agrémentée.

    Code php :
    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
    <?php 
    require 'includes/initialize.inc.php';
     
    // page protected
    if ($pgID == ''): header('location: pglogin.php?location=pgaddpublicphotos.php'); exit; endif;
     
     
     
     
    $message = $t['enter info'];
     
    // check submitted values
    $path = "photographers/$pgID";
     
     
    if (is_uploaded_file($file)): 
    	$random = random();
    	copy($file, "temp/".$file_name); 
    		if (@create_thumbnail("temp",$path,$file_name,"400")==false): continue; endif;
    	unlink("temp/".$file_name); 
    	$fullname = $path."/".$file_name; 
     
    	$time = time();	
    	mysql_query("INSERT INTO plphotos VALUES ('$random', '$pgID', 'public', '', '$caID', '$fullname', '$description','','$time')");     $message = $t['success'].' '.$t['add more files'];
    endif;
     
     
     
     
     
    //////////////////// start output
     
    require 'header.inc.php'; 
     
    ?>
     
    <table width="100%" cellpadding="7"><tr><td width="65%">
    <p>
    	<span class=header><?php print $t['add public photos'] ?></span><br>
    	<?php 
    	$sql ="select * from plphotos where phAuthorID = '$pgID' and phStatus = 'public'";
     
    	// thumbnails
     
    	$res = mysql_query($sql);
    	if (mysql_num_rows($res)==0):
    	print $t['nothing to show'];
    	else:
    	$output .= '<table cellpadding=1 cellspacing=4 width=99% class="dotted"><tr class="odd">';
    	$i = 0;
    	while ($row = mysql_fetch_array($res))
    		{
    		$output .=  '<td><div align=center class="smalltext">
    		['.getvalue("plcategories","caTitle_","caID",$row['phCategoryID']).']<br>
    		<a class="smalltext" target="_blank" href="photodetails.php?phID='.$row['phID'].'"><img border=0 class=photo border=0 hspace=3 vspace=0 src=thumbnail.jpg.php?phID='.$row['phID'].'><br>';
    		$output .=  $t['enlarge'].'</a>&nbsp;|&nbsp;
    		<a class="smalltext" href=pgdeletephotos.php?returnpath=pgaddpublicphotos.php&phID='.$row['phID'].' onclick="return confirm(';
    		$output .=  "'".$t['are you sure']."'";
    		$output .=  ')">'.$t['delete'].'</a></div></td>';
    		$i = $i+1;
    		if ($i % 8 == 0): $output .= '</tr><tr class="odd">'; 
    		elseif ($i % 4 == 0): $output .= '</tr><tr class="even">';  endif;		
    		}
    	 $output .=  '</tr></table>'; 	
    	print $output;
    	endif;
    // thumbnails end
     
    	?></p>
     
    </td><td width="35%">
     
     
     
    <div class="header"><?php print $t['Add Photos'] ?></div>
    <br>
    <p class="sticknote">
    <?php print $message ?>
    <br><br>
    <?php require 'includes/form_addpublicphotos.inc.php' ?>
    </p>
     
    </td></tr></table>
     
    <?php require 'footer.inc.php' ?>
    Base de donnée

    Code SQL : 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
    --
    -- Structure de la table `plphotos`
    -- 
     
    CREATE TABLE `plphotos` (
      `pgID` int(11) NOT NULL auto_increment,
      `phStatus` varchar(255) NOT NULL default '',
      `phDate` date NOT NULL default '0000-00-00',
      `phAuthorID` varchar(255) NOT NULL default '',
      `phAccessCode` varchar(18) NOT NULL default '',
      `phID` varchar(255) NOT NULL default '',
      `phCategoryID` varchar(255) NOT NULL default '',
      `caID` varchar(255) NOT NULL default '',
      `caTitle_` varchar(255) NOT NULL default '',
      `phFilename` varchar(25) NOT NULL default '',
      PRIMARY KEY  (`pgID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Encore une fois je suis complètement novice et je vois pas ce qui cloche.

    merci d'avance de votre aide

  2. #2
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    Bonjour davidb1967,

    J'ai pas regardé ton code en profondeur, mais à première vu il te manque un champs à remplir. Si tu ne les énumère pas, tu dois tous les remplir et dans le bon ordre.

    Pour t'aider à repérer l'erreur, utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO plphotos VALUES ('$random', '$pgID', 'public', '', '$caID', '$fullname', '$description','','$time')") or die(mysql_error());
    Bonne soirée

    ++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 30
    Par défaut
    J'ai essayer le code que tu ma donner et j'ai ce message

    Column count doesn't match value count at row 1

    ????

    j'avoue ne rien y comprendre

  4. #4
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    re,

    C'est donc bien ce qu'il me semblait, il te manque un champs à remplir.

    regarde, tu as 10 champs:

    -pgID
    -phStatus
    -phDate
    -phAuthorID
    -phAccessCode
    -phID
    -phCategoryID
    -caID
    -caTitle_
    -phFilename

    et tu n'en remplis que neuf:
    -$random
    -$pgID
    -public
    -''
    -$caID
    -$fullname
    -$description
    -''
    -$time

    Il te manque un champs à remplir...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 30
    Par défaut
    Ok je viens de comprendre et en plus faut qu'il soit dans le bonne ordre

    Merci beaucoup ca m'éclaire pour beaucoup de chose

  6. #6
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    Mais pour ne pas avoir de soucis, moi je mets toujours les champs que je veux remplir, comme ça j'y vois plus clair, comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO maTable (champs1, champs3, champs8, champs15) VALUES ('$var1', '$var2', '$var3', '$var4')") or die(mysql_error());
    ce qui donnera dans la table:

    champs1='$var1'
    champs3='$var2'
    champs8='$var3'
    champs15='$var4'

    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modéliser une base de données non relationnelle ?
    Par korrigan dans le forum Schéma
    Réponses: 4
    Dernier message: 19/01/2007, 16h35
  2. Format de base de données non reconnu
    Par Maludi dans le forum Access
    Réponses: 12
    Dernier message: 06/12/2006, 16h15
  3. Base de données non reliée
    Par wkd dans le forum WinDev
    Réponses: 4
    Dernier message: 12/07/2006, 16h52
  4. Format de base de données non reconnues
    Par sylvia94 dans le forum Access
    Réponses: 2
    Dernier message: 03/06/2006, 15h38
  5. Format de base de données non reconnu
    Par Consultant dans le forum Access
    Réponses: 4
    Dernier message: 05/10/2005, 11h32

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