2 Fragen: ID ermitteln + Bildupload

corona

Erfahrenes Mitglied
Hallo liebe PHPler,

ich habe 2 kleine Fragen mit denen ich nicht weiter komme.

1)
Wie kann ich meine Zeilen in der DB-Tabelle zählen, die Zahl um 1 erhöhen und dann ausgeben? Habe leider nicht so viel Ahnung von PHP um das hinzubekommen :confused:

2)
Ich habe mit meinem PHP-Buch einen Bildupload hingekriegt. Auf meiner Seite verwende ich jedoch anstatt 1 Upload-Feld insgesamt 10 Upload-Felder. Zu jedem Upload-Feld gibt es noch ein Submit-Button, also auch insgesamt 10. Bei allen 10 klappt der Upload von Bildern.
Ich würde gerne, den Dateinamen von der Datei die ich gerade hochgeladen habe, gerne neben dem Submit-Button stehen lassen. Ich habe es auch hingekriegt dass der Name da steht. Wenn ich jetzt aber von einem anderen Upload-Feld eetwas hochlade, verschwindet der vorige Name aus dem anderen Feld und es erscheint der neue.
Also noch mal zum Verständnis:
Ich lade beim Upload-Feld Nr.1 ein Bild hoch. Der Dateiname "bild1.jpg" erscheint neben dem Submit-Button 1. Gleich danach lade ich vom Upload-Feld Nr.2 ein Bild "bild2.jpg" hoch. Nun steht neben dem Submit-Button 2 der Name "bild2.jpg", aber der Name "bild1.jpg" steht nicht mehr neben dem Submit-Button 1.

Hier mal der Code dazu. Zur besseren Übersicht nur für 2 Upload-Fälle:

PHP:
            <td colspan="2" class="text10"><div align="left"> 
				<input type="hidden" name="MAX_FILE_SIZE" value="300000">
                <input name="userfile1" type="file">
                &nbsp;
                <input name="upload1" type="submit" id="upload1" value="Upload" style="width:70px;">
<?php
if (isset($upload1))
	{
		echo $HTTP_POST_FILES['userfile1']['name'];
		$path1=dirname($PATH_TRANSLATED).'/upload/';
		copy ($userfile1, $path1.$userfile1_name);
	}	
$dp=opendir($path1);
while ($file1=readdir($dp))
	{	if (!preg_match('/^\.{1,2}/', $file1))
		{
		}
}
if (strlen($HTTP_POST_FILES['userfile1']['name'])>0)
{
$lok_bild1=$HTTP_POST_FILES['userfile1']['name'];
session_register('lok_bild1');
}
?>
              </div></td>
          </tr>
          <tr align="left" valign="top"> 
            <td width="100" class="text11"><div align="left">Bild 2:</div></td>
            <td colspan="2" class="text10"><div align="left"> 
				<input type="hidden" name="MAX_FILE_SIZE" value="300000">
                <input name="userfile2" type="file">
                &nbsp; 
                <input name="upload2" type="submit" id="upload2" value="Upload" style="width:70px;">
<?php
if (isset($upload2))
	{
		echo $HTTP_POST_FILES['userfile2']['name'];
		$path2=dirname($PATH_TRANSLATED).'/upload/';
		copy ($userfile2, $path2.$userfile2_name);
	}	
$dp=opendir($path2);
while ($file2=readdir($dp))
	{	if (!preg_match('/^\.{1,2}/', $file2))
		{
		}
}
if (strlen($HTTP_POST_FILES['userfile2']['name'])>0)
{
$lok_bild2=$HTTP_POST_FILES['userfile2']['name'];
session_register('lok_bild2');
}
?>
              </div></td>
          </tr>

Vielen Dank,
Gruss!
 
Hi,

also zu deiner ersten Frage, die Datensätze in einer Tabelle kannst du mit mysql_num_rows(); zählen, also z.B

$result = mysql_query("SELECT (id,name) FROM galerie");
$num = mysql_num_rows($result);

in $num steht dann die Anzahl der Datensätze drinnen.

Zu deiner zweiten Frage, es ist ganz klar das der Dateiname verschwindet da wenn du auf den 2.ten Submit Button klickst im ersten Upload-Feld ja nichts mehr ausgewählt ist und somit verschwindet der Dateiname.

Meine Frage ist warum machst dus eigentlich nicht einfach so das man 10 Bilder auswählen kann und dann auf einmal hochlädt ?

Gruß
spitzi
 
Zu Frage 1: SELECT COUNT(*) + 1 FROM …
Zu Frage 2: du müsstest die bereits hochgeladenen Dateien irgendwie speichern, sodass du darauf später zugreifen kannst.
 
Hallo,
vielen Dank für die Antworten. Beide Probleme wurden behoben :p
Problem 1 durch Eure Hilfe, Problem 2 durch eifriges rumexperimentieren :-)

Danke!
 
Problem Nummer zwei könntest du beispielsweise durch das Arbeiten mit Sitzungen lösen und die bereits hochgeladenen Dateien in der Sitzung speichern.
 
Zurück