x-kom hosting

Wyswietlanie tabeli MySQL na stronie www

twierdza
utworzono
utworzono

Witam,
Stworzyłem database o nazwie db596303 a następnie tabele web_members o nastepujacych kolumnach:

Nazwa: id, Typ: int(4)
Nazwa: name, Typ: varchar(65)
Nazwa: lastname, Typ: varchar(65) Nazwa: email, Typ: varchar(65)
Nazwa: Picture, Typ: mediumblob
Dodałem kilka przykładowych wpisów.

Chciałbym aby ta tabela wyświetlała się na mojej stronie www. Tak wyglądała moja pierwsza próba:

Dodalem plik .php:
[CODE]
<html>
<head>
<title>Show Data</title>
</head>
<body>
<?php
//Connect to MySQL
mysql_connect('mysql3.ugu.pl', 'db596303', 'moje chaslo') or die (mysql_error());
//Select database
mysql_select_db('db596303') or die (mysql_error());
//Use the mysql_query function to extract everything from the example table
$result = mysql_query("SELECT web_members");
//Use the mysql_fetch_array function on the resource returned by the mysql_query
$row = mysql_fetch_array($result);
//Display the results
echo $row['name'] . " - " . $row['lastname'] . " - " . $row['picture'];
?>
</body>
</html>
[/CODE]
niestety kończy się to wyświetlaniem komunikatu:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /virtual/a/n/an.ugu.pl/showdata.php on line 15 :E

Bardzo proszę o jakiś nowy kod albo ulepszony ten powyższy, od szukania w internecie już mi się w głowie kreci. :mur:

demonix
komentarz
komentarz (edytowane)

źle zadane zapytanie [CODE]
SELECT * FROM web_members;
[/CODE]
po drugie wyniki trzeba wyświetlać w pętli

twierdza
komentarz
komentarz

zmieniłem zapytanie, niestety dalej to samo...
w pętli powiadasz? A możesz troszku rozwinąć? :E

demonix
komentarz
komentarz (edytowane)

[CODE]
while ($row = mysql_fetch_array($result))
{
echo $row['nazwa_pola1'].' '.$row['nazwa_pola2'];
}
[/CODE]
z resztą php.net i mysql_query, mysql_fetch_array i korzystać z pomocy bardzo dobrze podane przykłady tam są

twierdza
komentarz
komentarz

ok , powoli ;)
gdzie mam to skopiowac? pod $row = mysql_fetch_array($result); czy mam to zastapic?
Co wpisac w nazwa_pola1 & 2?

Normalnie to bym sie uczyl z tej strony co padales ale po tym przykładzie daje sobie spokój ;)

demonix
komentarz
komentarz

[CODE]
$row = mysql_fetch_array($result);
//Display the results
echo $row['name'] . " - " . $row['lastname'] . " - " . $row['picture'];
[/CODE]
zmienić na
[CODE]
while ($row = mysql_fetch_array($result))
{
echo $row['name'].' '.$row['lastname'].' '.$row['picture'];
}
[/CODE] i przerób jakiś kurs php + mysql to naprawdę nie jest aż takie trudne a na yt masz filmiki nawet po polsku i od podstaw.

twierdza
komentarz
komentarz (edytowane)

hah postęp! Pojawia się imię i nazwisko ale zamiast obrazka kupa znaków.

Sam zobacz [url="http://an.ugu.pl/showdata.php"]http://an.ugu.pl/showdata.php[/url] :E

benkowik
komentarz
komentarz

1. A jak w bazie przechowujesz link do obrazka?
2. Rozumiem, że kodowanie dla bazy, tabeli i poszczególnych pól to UTF-8?

twierdza
komentarz
komentarz (edytowane)

Nie do końca zrozumiałem pytań, więc wstawiam dwa printscreeny w nadziei że na nie opowiedzą :E
[url="http://imageshack.us/photo/my-images/839/printscreen1.jpg/"][img]http://img839.imageshack.us/img839/697/printscreen1.jpg[/img][/url]

[url="http://imageshack.us/photo/my-images/862/printscreen2.jpg/"][img]http://img862.imageshack.us/img862/9906/printscreen2.jpg[/img][/url]

benkowik
komentarz
komentarz

Jeśli masz pole mediumblob a odczytuje je jako zwykłe, tekstowe to się nie ma co dziwić, że masz takie efekty.

[CODE]
while ($row = mysql_fetch_array($result))
{
echo $row['name'].' '.$row['lastname'];
header("Content-Type: image/gif");
print $row['picture'];
}
[/CODE]

Nie wiem czy to pomoże bo nigdy nie utrudniam sobie życia z [b]blob[/b]ami.

twierdza
komentarz
komentarz

Niestety nie działa :( [url="http://an.ugu.pl/showdata.php"]http://an.ugu.pl/showdata.php[/url]
Ale też mi się wydaje że to przez blob, na co to zmienić? Tu znalazłem pełna listę i wyjaśnienia ale nie mogę znaleźć typu dla obrazka.
http://compzone.org/art-Typy+danych+w+kolumnach+w+MySQL-21.html

demonix
komentarz
komentarz

to zróbtak obrazek uploaduj na serwer, a w bazie trzymaj tylko link do niego.

v4r
komentarz
komentarz

[quote name='twierdza' timestamp='1333310634' post='1473813']
Niestety nie działa :( [url="http://an.ugu.pl/showdata.php"]http://an.ugu.pl/showdata.php[/url]
Ale też mi się wydaje że to przez blob, na co to zmienić? Tu znalazłem pełna listę i wyjaśnienia ale nie mogę znaleźć typu dla obrazka.
[url="http://compzone.org/art-Typy+danych+w+kolumnach+w+MySQL-21.html"]http://compzone.org/...w+MySQL-21.html[/url]
[/quote]

Zmień na varchar lub text i przechowuj link lub samą nazwę pliku, następnie jeśli będziesz chciał wyświetlić obrazek to będzie wystarczyło w <img src="link" / > gdzie link to wyświetlenie pola picture z tabeli.

twierdza
komentarz
komentarz (edytowane)

OK, a więc tak stworzyłem nową tabele, przesłałem obrazek na serwer i dodałem nowy record.
Użyłem następującego kodu aby wywołać obrazek:

[CODE]
<html>
<head>
<title>Test Page</title>
</head>
<body>
<p>Test</p>
<?
$connection = mysql_connect('mysql3.ugu.pl', '*******', '***********');
$db = mysql_select_db("admin", $connection);
$sql = mysql_query("SELECT * FROM obrazki");
while ($row = mysql_fetch_array($result)) {
$sciezka = $row['sciezka'];
echo '<div>';
echo "<br />";
echo "<a href='$sciezka'><img height='90' width='90' src='$sciezka' /></a>";
echo '</div>';
}
?>
</body>
</html>
[/CODE]

Niestety na stronie wyświetla się:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /virtual/a/n/an.ugu.pl/obrazek.php on line 13

Printscreen z tabeli:

[url="http://imageshack.us/photo/my-images/268/nowy1tj.jpg/"][img]http://img268.imageshack.us/img268/9117/nowy1tj.jpg[/img][/url]

v4r
komentarz
komentarz (edytowane)

Bo odowlujesz się do tablicy assocyjnej
$row['sciezka'] a powinno być $row[1]


[php]while ($row = mysql_fetch_array($result)) {
$sciezka = $row['sciezka'];
echo '<div>';
echo "<br />";
echo "<a href='$sciezka'><img height='90' width='90' src='$sciezka' /></a>";
echo '</div>';
}[/php]

zamien to
[php]
$sciezka = $row['sciezka'];
[/php]
na
[php]
$sciezka = $row[1];
[/php]

lub

Jeśli chcesz odowlywac się $row['tekst_jakis_tam'] to musisz w pętli while zmienić
[php]
$row = mysql_fetch_array($result)
[/php]
na
[php]
$row = mysql_fetch_assoc($result)
[/php]

twierdza
komentarz
komentarz (edytowane)

Zmieniłem kod na następujący:

[CODE]
<html>
<head>
<title>Test Page</title>
</head>
<body>
<p>Test</p>
<?
$connection = mysql_connect('mysql3.ugu.pl', 'db596303', '*******');
$db = mysql_select_db("admin", $connection);
$sql = mysql_query("SELECT * FROM obrazki");
while ($row = mysql_fetch_assoc($result)) {
$sciezka = $row['sciezka'];
echo '<div>';
echo "<br />";
echo "<a href='$sciezka'><img height='90' width='90' src='$sciezka' /></a>";
echo '</div>';
}
?>
</body>
</html>
[/CODE]

Ale niestety dalej pisze:
[b]Warning[/b]: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in [b]/virtual/a/n/an.ugu.pl/obrazek.php[/b] on line [b]13[/b]

Probowałem też zmienić $sciezka = $row['sciezka']; na $sciezka = $row[1];

v4r
komentarz
komentarz

Zamien
[php]
while ($row = mysql_fetch_assoc($result)) {
[/php]
na
[php]
while ($row = mysql_fetch_assoc($sql)) {
[/php]

twierdza
komentarz
komentarz

Dalej to samo :(
[b]Warning[/b]: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in [b]/virtual/a/n/an.ugu.pl/obrazek.php[/b] on line [b]11[/b]

v4r
komentarz
komentarz

[php]<html>
<head>
<title>Test Page</title>
</head>
<body>
<p>Test</p>
<?php
$connection = mysql_connect('mysql3.ugu.pl', 'db596303', '*******');
$db = mysql_select_db("admin", $connection);
$sql = mysql_query("SELECT * FROM obrazki");
while ($row = mysql_fetch_assoc($sql)) {
$sciezka = $row['obrazki'];
echo '<div>';
echo "<br />";
echo "<a href='$sciezka'><img height='90' width='90' src='$sciezka' /></a>";
echo '</div>';
}
?>
</body>
</html>[/php]

U mnie działa to...

benkowik
komentarz
komentarz

Spróbuj [b]mysql_fetch_array[/b].

twierdza
komentarz
komentarz (edytowane)

Już się zaczynam powoli gubić, jeszcze raz i od początku:
Kod w tym momencie wygląda następująco:
[CODE]
<html>
<head>
<title>Show Data</title>
</head>
<body>
<p>test</p>
<?php
$connection = mysql_connect('mysql3.ugu.pl', 'db596303', '********');
$db = mysql_select_db("admin", $connection);
$sql = mysql_query("SELECT * FROM obrazki");
while ($row = mysql_fetch_array($result)) {
$sciezka = $row['obrazki'];
echo '<div>';
echo "<br />";
echo "<a href='$sciezka'><img height='90' width='90' src='$sciezka' /></a>";
echo '</div>';
}
?>
</body>
</html>
[/CODE]

Na stronie jest następujący błąd:
[url="http://www.an.ugu.pl/showdata.php"]http://www.an.ugu.pl/showdata.php[/url]
[CODE]
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /virtual/a/n/an.ugu.pl/showdata.php on line 11
[/CODE]

Może gdzieś zrobiłem błąd tworząc tabele więc wstawiam dodatkowy print screen:

[url="http://imageshack.us/photo/my-images/26/tabelaobrazki.jpg/"][img]http://img26.imageshack.us/img26/9247/tabelaobrazki.jpg[/img][/url]

Próbowałem też na innym hostingu ale ten sam problem.
Bardzo proszę o znalezienie błędu...

demonix
komentarz
komentarz

chłopie jak ma Ci to działać dowiedz się troszk o tym programowaniu a nie siedzisz tyle nad jednym prostym problemem wpisz w video.google.com php + tutorial pl i wyskoczy Ci masa wyników już wcześniej mówili Ci żebyś zmienił:
[CODE]
$sql = mysql_query("SELECT * FROM obrazki");
while ($row = mysql_fetch_array($result))
[/CODE] na [CODE]
$sql = mysql_query("SELECT * FROM obrazki");
while ($row = mysql_fetch_array($sql)
[/CODE]


a teraz odpowiedz mi na pytanie jak Ty sobie wyobrażasz robieni czego kolwiek jak nie rozumiesz co się dzieje w twoim kodzie i dlaczego podpowiadamy żebyś zrobił tak a nie inaczej...

twierdza
komentarz
komentarz

Ja cię kręcę demonix jest środa wieczór, patrze czy ktoś nie podał jakiś pomysł jak to rozwiązać zanim pójdę spać, a ty się pienisz że nie robię tego co mi wcześniej mówili. Grzecznie proszę o pomoc jak nie chcesz odpowiadać to nikt Ci nie karze. Próbowałem wszystkiego co pisze wcześniej, nawet ja kombinowałem po swojemu ale nie wyszło.

Proszę bardzo kod wygląda tak:

[CODE]
<html>
<head>
<title>Show Data</title>
</head>
<body>
<p>test</p>
<?php
$connection = mysql_connect('mysql3.ugu.pl', 'db596303', '******');
$db = mysql_select_db("admin", $connection);
$sql = mysql_query("SELECT * FROM obrazki");
while ($row = mysql_fetch_array($sql)
{
$sciezka = $row['obrazki'];
echo '<div>';
echo "<br />";
echo "<a href='$sciezka'><img height='90' width='90' src='$sciezka' /></a>";
echo '</div>';
}
?>
</body>
</html>
[/CODE]

A błąd tak:

[CODE]
Parse error: syntax error, unexpected '{' in /virtual/a/n/an.ugu.pl/showdata.php on line 12
[/CODE]

benkowik
komentarz
komentarz

Skoro otwierasz nawias to go zamknij:
[CODE]
while ($row = mysql_fetch_array($sql)[color=#ff0000][b])[/b][/color]
[/CODE]

twierdza
komentarz
komentarz

rozumiem żeby kolor i pogrubienie pominąć? ;)
Zamieniłem na:

[CODE]
while ($row = mysql_fetch_array($sql))
[/CODE]
Ale jest następujący błąd:

[CODE]
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /virtual/a/n/an.ugu.pl/showdata.php on line 11
[/CODE]

Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!

Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Strona wykorzystuje pliki cookies w celu prawidłowego świadczenia usług i wygody użytkowników. Warunki przechowywania i dostępu do plików cookies możesz zmienić w ustawieniach przeglądarki.