Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z phpmyadmin
satch83
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 16.09.2007

Ostrzeżenie: (0%)
-----


Witam!

Jestem początkujący w PHP jednakże mam pewne zadanie do wykonania i cały czas szukam rozwiązania. Najprościej rzecz ujmując:


-mamy formularz do wysyłania danych do bazy (w tym pliki zdjęć których nazwy mają się pojawić w polach img1, img...., img10 w tabeli produkty_uzywane


-mamy program w php który obsługuje formularz i wysyła dane do bazy mysql

-mam plik który ma wyświetlać dane w tym zdjęcia poszczególnego produktu wraz z odsyłaczem do pliku który wyświetla większe informacje (np. rok produkcji, cena, przebieg)


Oto mój kod:
formularz (dodaj_u.html)



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Panel administracyjny</title>
<link href="css/style_admin.css" rel="stylesheet" type="text/css" />
</head>

<body>

Dodaj ogłoszenie z używanym pojazdem.<br />
Wypełnij formularz:<br />
<form action="wstaw_uzywany.php" enctype="multipart/form-data" method="post"><br />
<input type="hidden" name="MAX_FILE_SIZE" value="300000">
Marka: <input type="text" name="marka" size="30" /><br />
Model: <input type="text" name="model" size="30" /><br />
Rok produkcji: <input type="text" name="rok" size="4" /><br />
Cena: <input type="text" name="cena" size="30" /><br />
Kod: <input type="text" name="kod" size="10" /><br />

Zdjęcia:<br />
Zdjęcie 1: <input type="file" name="img0"/><br />
Zdjęcie 2: <input type="file" name="img1"/><br />
Zdjęcie 3: <input type="file" name="img2"/><br />
Zdjęcie 4: <input type="file" name="img3"/><br />
Zdjęcie 5: <input type="file" name="img4"/><br />
Zdjęcie 6: <input type="file" name="img5"/><br />
Zdjęcie 7: <input type="file" name="img6"/><br />
Zdjęcie 8: <input type="file" name="img7"/><br />
Zdjęcie 9: <input type="file" name="img8"/><br />
Zdjęcie 10: <input type="file" name="img9"/><br />
Opis1: <input type="text" name="opis1" size="80" /><br />
Opis2: <input type="text" name="opis2" size="100" /><br />

<input type="submit" name="wyslij" value="Dodaj ogłoszenie" />
</form>

</body>
</html>

Kolejny plik wstaw_uzywany.php (do obsługi formularza)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Untitled Document</title>
</head>

<body>
<?php
require_once('config.php');

ini_set( 'display_errors', 'On' );
error_reporting( E_ALL );

/* $sql='INSERT INTO produkt_uzywany values ('.$_POST['marka'].', '.$_POST['model'].', '.$_POST['rok'].', '.$_POST['cena'].', '.$_POST['kod'].', '.$_FILES['img0']['name'].', '.$_FILES['img1']['name'].', '.$_FILES['img2']['name'].', '.$_FILES['img3']['name'].', '.$_FILES['img4']['name'].', '.$_FILES['img5']['name'].', '.$_FILES['img6']['name'].', '.$_FILES['img7']['name'].', '.$_FILES['img8']['name'].', '.$_FILES['img9']['name'].', '.$_POST['opis1'].', '.$_POST['opis2'].')';*/

$sql2="INSERT INTO produkt_uzywany values ('','$_POST[marka]', '$_POST[model]', '$_POST[rok]', '$_POST[cena]', '$_POST[kod]', '$_FILES[img0][name]', '$_FILES[img1][name]', '$_FILES[img2][name]', '$_FILES[img3][name]', '$_FILES[img4][name]', '$_FILES[img5][name]', '$_FILES[img6][name]', '$_FILES[img7][name]', '$_FILES[img8][name]', '$_FILES[img9][name]', '$_POST[opis1]', '$_POST[opis2]')";

$err = false;
for ($i=0; $i<10; $i++)
if ($_FILES['img'.$i]['tmp_name'] && !is_uploaded_file($_FILES['img'.$i]['tmp_name'])) {
echo "Plik ". $_FILES['img'.$i]['name'] ." NIE został załadowany na serwer prawidłowo.<br />\n";
$err = true;
}

if ($err) {
echo "Nie można dodać ogłoszenia do bazy danych! Nie wszystkie pliki zostały wgrane!<br />";
echo "<a href=\"http://kuba-express.pl/admin/admin.php?id=dodaj_u\">Wstecz</a>";
} else {
for ($i=0; $i<10; $i++) {
if ($_FILES['img'.$i]['tmp_name'] && !move_uploaded_file($_FILES['img'.$i]['tmp_name'], '../images/uzywane/big/'.basename($_FILES['img'.$i]['name']))) {
echo "Wystąpił problem przy przenoszeniu zdjęć do odpowiedniego katalogu. Prawdopodobnie źle ustawione prawa katalogu!";
echo "<a href=\"http://kuba-express.pl/admin/admin.php?id=dodaj_u\">Wstecz</a>";
die;
}
}

if (mysql_query($sql2,$polaczenie)) {
echo "Dodano ogłoszenie!";
} else {
echo "Pliki załadowano poprawnie, nie można dodać ogłoszenia do bazy danych!";
}
}

?>
<a href="http://kuba-express.pl/admin/admin.php?id=dodaj_u">Wstecz</a>
</body>
</html>

i ostatni kup_u.php (wyświetlający ogłoszenie na stronce):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Untitled Document</title>
</head>

<body>
<?php
require_once('admin/config.php');

//SPRAWDZAMY, CZY JEST POKAZANY NUMER ZDJĘCIA, KTÓRE CHCEMY OBEJRZEĆ
if(!isset($_GET['zdj'])) //jeśli nie jest zdefiniowane zdjęcie, które mamy pokazać...
{
$sql=mysql_query("SELECT * FROM produkt_uzywany LIMIT 1");//...to pobierz dane o pierwszym zdjęciu z tabeli
}
else
{
$zdj=$_GET['zdj'];
$zapytanie=mysql_query("SELECT * FROM galeria WHERE id='$zdj'");//...w przeciwnym wypadku pokaż dane zdefiniowanego zdjęcia
}

//I WYŚWIETLAMY TABELKĘ (NA RAZIE 1 WIERSZ)

echo '<table border=1>'; //wyświetlamy tabelkę
echo '<tr border=0>';
echo '<td colspan="3" border=0 align="center">';


$dane=mysql_fetch_array($sql); //przekształć zapytanie w tablicę

echo '<img src=images/uzywane/big/'.$dane['img1'].' width=100 border=0>'; //wyświetl zdjęcie
echo '<br>'; //enterek
echo '<b>Model: '.$dane['model'].'</b><br />';
echo '<b>Opis: '.$dane['opis1'].'</b><br />';
echo '<b>Kod: '.$dane['kod'].'<br />'; //i opis do zdjęcia
echo '</td>'; //zamknij komórkę i wiersz

//A TERAZ POZOSTAŁE WIERSZE (PO 3 KOMÓRKI W WIERSZU)

$sql=mysql_query("SELECT * FROM produkt_uzywany"); //znowu pobieramy wszystko z bazy
$il=mysql_num_rows($sql); //sprawdzamy ile w tabeli jest zdjęć
$wiersze=ceil($il/3); //i dzielimy to przez 3, z nadmiarem

for ($a=0;$a<$wiersze;$a++) //otwieramy pętlę, będzie się robiła tyle razy, ile jest wierszy
{
//echo '<tr align=center>'; //wyświetlamy nowy wiersz
$b=$a*3; //będą pobierane z tabeli po 3 zdjęcia
$sql="SELECT * FROM produkt_uzywany LIMIT $b,3"; //zapytanie
$a=mysql_query($sql); //pobieramy po 3 zdjęcia
while($row=mysql_fetch_array($a))
{
echo '<td>'; //otwieramy nową komórkę
echo '<a href=produkt_info.php?zdj='.$row['id'].'><img src=images/uzywane/big/'.$row['img1'].' border=0 width=100></a><br />'; //hiperłącze do zdjęcia + zdjęcie
echo '<b>Model: '.$dane['model'].'</b><br />';
echo '<b>Opis: '.$dane['opis1'].'<b><br />';
echo '<b>Kod: '.$dane['kod'].'<b><br />';
echo '</td>'; //zamykamy komórkę
}
echo '</tr>'; //zamykamy wiersz
}
echo '</table>'; //zamykamy tabelę

mysql_close($polaczenie); //zamykamy połączenie z bazą danych
?>
</body>
</html>

Problem polega na tym iż w phpmyadmin w polach img0, img1,... pojawia się napis Array[name] zamiast nazwy pliku graficznego no i potem kup_u.php nie pobiera zdjęcia. ponadto pobiera cały czas pierwszy rekord co jest oczywistym błędem.

Proszę o pomoc

satch83
Go to the top of the page
+Quote Post
gutek84
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 4
Dołączył: 9.10.2007
Skąd: Morąg

Ostrzeżenie: (0%)
-----


zrob print_r($_FILES) i zobacz jak skladnia tablicy wyglada moze po prostu zle odnosisz sie do tablicy!
Go to the top of the page
+Quote Post
nevt
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 595
Pomógł: 282
Dołączył: 24.09.2007
Skąd: Reda, Pomorskie.

Ostrzeżenie: (0%)
-----


Cytat
for ($a=0;$a<$wiersze;$a++) //otwieramy pętlę, będzie się robiła tyle razy, ile jest wierszy
{
//echo '<tr align=center>'; //wyświetlamy nowy wiersz
$b=$a*3; //będą pobierane z tabeli po 3 zdjęcia
$sql="SELECT * FROM produkt_uzywany LIMIT $b,3"; //zapytanie
$a = mysql_query($sql); //pobieramy po 3 zdjęcia


WIDZISZ BŁĄD questionmark.gif


--------------------

-
Oh no, my young coder. You will find that it is you who are mistaken, about a great many things... -
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:14