Avatar billede jehomi Nybegynder
26. juni 2003 - 00:15 Der er 47 kommentarer og
1 løsning

udskrive billeder fra database..

Nu har jeg snart fået nok af MySQL og PHP......

Jeg skal have udskrevet nogle billeder som ligger i en fil, og filnavnene ligger i MySQL.

Men det driller det skidt, eneste output er en ramme med et kryds i.....

Jeg kunne forestille mig at det har noget med filnavnet at gøre, og den måde det defineres på i MySQL.. Men prøv at kig på det og se om i kan hjælpe en desperat :(

Jeg benytter koden herunder :


<?php


//De sidste 5 post hvor type = køb
$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("billede") or die(mysql_error());

$query = mysql_query("SELECT * FROM billederne");
//while ($row = mysql_fetch_array($query))
echo "
<table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><b>Type: $row[type]  Gruppe: $row[kate] </b> - <font color='#999999'>oprette den: $row[dato] af $row[navn]</font></td>
</tr>
<tr>$row[over]</tr>
<tr>
<td>$row[beskrivelse]</td>
</tr>
<tr>
<td>Pris: $row[pris]</td>
</tr>
<tr>
<td><img src='/test/$row[filnavn]'></td>
<td>$row[tekst]</td>
</tr>
<tr>
<td>IP: $row[IP]</td>
</tr>


</table>
<br><br><br><br><br><br><br><br>
";

?>
Avatar billede schaefner Juniormester
26. juni 2003 - 00:17 #1
Højreklik på det røde kryds og se hvad stien er. Den er sikkert forkert.
Avatar billede schaefner Juniormester
26. juni 2003 - 00:18 #2
<?php
//De sidste 5 post hvor type = køb
$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("billede") or die(mysql_error());

$query = mysql_query("SELECT * FROM billederne ORDER BY id DESC LIMIT 5") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
echo "
<table class='tekstafsnit' width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><b>Type: $row[type]  Gruppe: $row[kate] </b> - <font color='#999999'>oprette den: $row[dato] af $row[navn]</font></td>
</tr>
<tr>$row[over]</tr>
<tr>
<td>$row[beskrivelse]</td>
</tr>
<tr>
<td>Pris: $row[pris]</td>
</tr>
<tr>
<td><img src='/test/$row[filnavn]'></td>
<td>$row[tekst]</td>
</tr>
<tr>
<td>IP: $row[IP]</td>
</tr>


</table>
<br><br><br><br><br><br><br><br>
";
}
?>
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:22 #3
øhh, hvilken type skal filnavn være i MySQL tabellen ????
Avatar billede ahv Nybegynder
26. juni 2003 - 00:23 #4
varchar ville vel være passende, præv at højreklikke og se om den udskriver et navn, hvis den gør det er det som schaefner er inde på så er stien forkert.
Avatar billede ahv Nybegynder
26. juni 2003 - 00:24 #5
Altså tjek i sovsen hvad der står her ->

<td><img src='/test/$row[filnavn]'></td>

står der noget efter test/ ? hvis der gør er det stien den er gal med.
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:29 #6
når jeg højre klikker kommer der nogle valgmuligeheder som åbn og egenskaber og kopier
Avatar billede schaefner Juniormester
26. juni 2003 - 00:29 #7
Egenskaber
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:30 #8
jeg må indrømme, at jeg er helt på afveje her...
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:31 #9
ikke tilgængelig står der
Avatar billede ahv Nybegynder
26. juni 2003 - 00:32 #10
Du kan også prøve ->

Højreklik på siden
Vis kilde og find stedet hvor der står ->
<td><img src='/test/

står der et filnavn efter det /test/ ?
Avatar billede ahv Nybegynder
26. juni 2003 - 00:32 #11
Har du et link så vi kan se siden?
Avatar billede ahv Nybegynder
26. juni 2003 - 00:33 #12
Man kunne ikke forestille sig du alerede var i test så billedelinket faktisk kun skulle være ->

<td><img src='$row[filnavn]'></td> ?
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:34 #13
der står
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:34 #14
<td><img src='/test/'></td>
Avatar billede schaefner Juniormester
26. juni 2003 - 00:35 #15
er du ikker på at dit felt i databasen hedder filnavn?
Avatar billede ahv Nybegynder
26. juni 2003 - 00:35 #16
Så for den altså intet filanvn fra databasen, er du sikker på feltet hedder filnavn og det er ikke med stort eller andet?
Avatar billede schaefner Juniormester
26. juni 2003 - 00:35 #17
Har du ikke et link?
Avatar billede ahv Nybegynder
26. juni 2003 - 00:36 #18
feltet kunne måske hedde ->

Filnavn eller fil_navn eller filename

Tjek lige efter det er vigtigt det skrives på præcis samme måde.
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:36 #19
jeps men nu skriver MySQL :

MySQL returnerede:


You have an error in your SQL syntax near 'NOT NULL)' at line 1
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:37 #20
jeg har kun et felt i min tabel og det hedder filnavn
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:37 #21
er defineret som VARCHAR oh notnull
Avatar billede schaefner Juniormester
26. juni 2003 - 00:37 #22
Så prøv:
$query = mysql_query("SELECT * FROM billederne ORDER BY filnavn DESC LIMIT 5") or die(mysql_error());
Avatar billede ahv Nybegynder
26. juni 2003 - 00:37 #23
Lægger det i tabellen ->
billederne ?
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:38 #24
schaefner jeg har ikke et link
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:38 #25
ja ahv
Avatar billede schaefner Juniormester
26. juni 2003 - 00:39 #26
det er vel kun filnavnene der ligger i tabellen?
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:39 #27
ja det er kun filnavnene
Avatar billede ahv Nybegynder
26. juni 2003 - 00:39 #28
Der er vel også alle mulig andre feltnavne i den tabel?
Avatar billede ahv Nybegynder
26. juni 2003 - 00:40 #29
over, beskrivelse, pris osv.
Avatar billede schaefner Juniormester
26. juni 2003 - 00:40 #30
Har du prøvet:

$query = mysql_query("SELECT * FROM billederne ORDER BY filnavn DESC LIMIT 5") or die(mysql_error());

?
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:43 #31
nej har slette de andre felter, men jeg tror at jeg bliver nødt til at udsætte dette til imorgen, da den nu laver vrøvl i MySQL også.
Der kommer pludselig ikke nogen værdi for filnavn derind ...
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:44 #32
ja det har jeg prøvet schaefner, men jeg tror simpelthen at problemet ligger i MySQL tabellen da den skriver den fejl jeg viste før
Avatar billede ahv Nybegynder
26. juni 2003 - 00:45 #33
Prøv en simpel en ->

<?php
$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("billede") or die(mysql_error());

$query = mysql_query("SELECT * FROM billederne ORDER BY id DESC LIMIT 5") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
    echo "<img src='/test/$row[filnavn]'>";
}
?>
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:46 #34
ja det er mystisk
Avatar billede ahv Nybegynder
26. juni 2003 - 00:47 #35
Prøv ->

<?php
$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("billede") or die(mysql_error());

$query = mysql_query("SELECT * FROM billederne") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
    echo "<img src='/test/$row[filnavn]'>";
}
?>
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:52 #36
lige nu har jeg et problem i databasen hvor det ikke fungerer, den skriver ikke til databasen fordi min tabel skiftevis virker og ikke virker. lort
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:52 #37
Jeg tror jeg vil vente lidt med dette.
Når man ikke kan oprette en tabel i en database kommer man vist ingen veje med dette
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:54 #38
den skriver dette i MySQL :

Fejl

SQL-forespørgsel : 

CREATE TABLE `billederne` (

`filnavn` VARCHAR NOT NULL
)

MySQL returnerede:


You have an error in your SQL syntax near 'NOT NULL)' at line 1
Avatar billede ahv Nybegynder
26. juni 2003 - 00:56 #39
CREATE TABLE `billederne` (

`filnavn` VARCHAR(150) NOT NULL
)
Avatar billede ahv Nybegynder
26. juni 2003 - 00:57 #40
Du skal jo lige huske at angive hvor langt feltet må være har sat det til 150 tegn. i ovenstående post.
Avatar billede ahv Nybegynder
26. juni 2003 - 00:58 #41
Og når du en gang for lagt et filnavn i tabellen og lagt en fil i test mappen der svarer til dette kan du jo teste med ->

<?php
$conn = mysql_connect("localhost","root") or die(mysql_error());
mysql_select_db("billede") or die(mysql_error());

$query = mysql_query("SELECT * FROM billederne") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
    echo "<img src='/test/$row[filnavn]'>";
}
?>
Avatar billede jehomi Nybegynder
26. juni 2003 - 00:58 #42
okay prøver nu det hele...
Avatar billede ahv Nybegynder
26. juni 2003 - 00:58 #43
Vil smutte i seng, er her igen imorgen efter 12.
Avatar billede jehomi Nybegynder
26. juni 2003 - 01:05 #44
har lige prøvet med din kode der, men tror ikke der kommer noget i tabellen :(
Avatar billede jehomi Nybegynder
26. juni 2003 - 01:05 #45
takker ahv
Avatar billede disky Nybegynder
26. juni 2003 - 08:11 #46
Jehomi:
Dit problem er PHP relateret og ikke MySQL, krydset skyldes forkert URL references,

Luk venligst spørgsmål og opret i PHP gruppen.
Avatar billede mgb Nybegynder
26. juni 2003 - 23:21 #47
Først et par retnings linier. Det er bedste at oprette nogle bruger i din database så du ikke skal bruge root til at tilgå din data. Dernæst er det fatalt ikke at have root password sat. Når du sådan ligger og roder rundt i DB'dn som super-user kan du hurtigt komme til at slette noget du ikke skulle have gjort.

Kan du prøve at vise os den data du for fra 'SELECT * FROM billederne ORDER BY filnavn DESC LIMIT 5'? For du nogen fejlmeddelser med din php kode (kig i kildekoden)? Hvor tester du dette (lokalt på en windows maskine)?
Avatar billede ahv Nybegynder
26. juni 2003 - 23:28 #48
mgb -> http://www.eksperten.dk/spm/369730 Problemet er løst.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester