J'ai un formulaire avec les différents domaines de l'utilisateur doivent se sentir avec la possibilité de fixer le nombre d'images:téléchargement de plusieurs fichiers, album photo, mysql
<?php
$num = 0;
while($num < $num_uploads)
{
echo '<div><input name="userfile[]" type="file" /></div>';
$num++;
}
?>
Après la soumission, il crée une table dans la base de données, appelé « album », qui ressemble à ceci:
function create_album($params)
{
db_connect();
$query = sprintf("INSERT INTO albums set
albums.title = '%s',
albums.email = '%s',
albums.discuss_url = '%s',
albums.theme_id = '%s',
albums.fullname = '%s',
albums.description = '%s',
created_at = NOW()",
mysql_real_escape_string($params['title']),
mysql_real_escape_string($params['email']),
mysql_real_escape_string($params['discuss_url']),
mysql_real_escape_string($params['theme_id']),
mysql_real_escape_string($params['fullname']),
mysql_real_escape_string($params['description'])
);
$result = mysql_query($query);
if(!$result)
{
return false;
}
$album_id = mysql_insert_id();
return $album_id;
}
Je veux les fichiers, mais d'aller à la table « images » et un lien vers l'album correct.
$create_album = create_album($_POST['album']);
mysql_query("INSERT INTO images(`name`,`album_id`) VALUES('$newName', '$create_album')");
J'ai le problème attache ces multiples images (l'utilisateur peut choisir de soumettre un ou 2 ou 3 fichiers) avec une soumission de formulaire pour un album. À l'heure actuelle, si l'utilisateur soumet 3 fichiers, il crée 3 albums avec chaque soumission de formulaire.
Enfin, ceci est ma structure de base de données:
CREATE TABLE `albums` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(50) NOT NULL,
`fullname` varchar(40) NOT NULL,
`discuss_url` varchar(150) NOT NULL,
`email` varchar(100) NOT NULL,
`created_at` datetime NOT NULL,
`theme_id` int(11) NOT NULL,
`description` int(11) NOT NULL,
`vote_cache` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;
CREATE TABLE `images` (
`id` int(11) NOT NULL auto_increment,
`album_id` int(11) NOT NULL,
`name` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;
Voulez-vous dire que le code create_album() est exécuté une fois pour chaque fichier téléchargé? Pourquoi ne lancez-vous pas la requête d'images une fois par chaque fichier téléchargé dans create_album() –
qui est exactement exact, mais je ne suis pas exactement sûr de savoir comment faire: / – Yulia