foto laten zien lukt niet

  • Onderwerp starter Onderwerp starter rmv66
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

rmv66

Gebruiker
Lid geworden
5 nov 2009
Berichten
14
Beste mensen ,

Ik ben nog een leek in PHP en SQL , maar heb een en ander geknutseld en data opslaan gaat goed , zoeken gaat goed , foto uploaden naar de database lukt nu ook , ook gecontroleerd maar een foto terug laten zien op het scherm na een zoek opdracht gaat niet.

1e database met 5 kolommen- wordt gezocht op voornaam
2e database met 3 kolommen w.o.omschrijving= in 1e database de voornaam
3e database voor de foto's 3 kolommen 2e omschrijving 3e is de foto images/xxx.jpg

Kan iemand mij helpen aub. - hier de nu gebruikte code

// Toon als $_POST['zoek'] verstuurd is
if(isset($_POST['zoek']))
{
// Stel variable in voor onze post zoekwoord.
$zoekwoord = $_POST['zoekwoord'];

// Je zoekwoord is korter dan 3 karakters en dan krijg je teveel resultaten
if(strlen($zoekwoord) <= 2){
echo "Je zoekterm is te kort.";
}
else
{
// Zoek op zoekwoord en vraag aantal op om te gebruiken :)
$sql = mysql_query("SELECT * FROM formulier WHERE voornaam LIKE '$zoekwoord' ORDER BY voornaam ASC")or die(mysql_error());


$select2 = mysql_query("SELECT SUM(leeftijd) AS aantal_leeftijd FROM formulier WHERE voornaam LIKE '$zoekwoord' ORDER BY voornaam ASC");
$row = mysql_fetch_assoc($select2);
$totaal = $row['aantal_leeftijd'];


$select3 = mysql_query("SELECT (omschrijving) FROM artikeloms WHERE voornaam LIKE '$zoekwoord' ORDER BY voornaam ASC");
$row3 = mysql_fetch_assoc($select3);
$totaal3 = $row3['omschrijving'];


$query = "SELECT (omschrijving) FROM afbeelding WHERE omschrijving LIKE '$zoekwoord'";



// Als er geen zijn toon niets.
if($aantal == "0")
{
echo "<b>Resultaten :</b><br />";
echo "Er is niets gevonden in de database...";

}

else
{
// Als er wel zijn toon mooi tabelletje + wat informatie.
echo "U heeft gezocht op - :'".$zoekwoord."'.<br /><br />";

echo "Omschrijving :<b> $totaal3</b><br><br>";
echo "Aantal gevonden :<b> $totaal</b><br><br>";
echo '<img src="images/'.$query.'">';


echo "<b>Resultaten :</b><br />";

// Stel het toon tabelletje op
echo "<table cellpadding='2' cellspacing='1' border='2' width='600'>";
echo "<tr>";
echo "<td width='30%'><b>Artikelnummer</b></td>";
echo "</tr>";

// Zet een while loop en haal informatie op
while($result = mysql_fetch_assoc($sql))

{
// Defineer opgehaalde items

$voornaam = $result['voornaam'];
$achternaam = $result['achternaam'];
$leeftijd = $result['leeftijd'];
$datum = $result ['datum'];


// Toon lijstje
echo "<tr>";
echo "<td width=\"30%\">".$voornaam."</td>";
echo "<td width=\"30%\">".$achternaam."</td>";
echo "<td width=\"10%\">".$leeftijd."</td>";
echo "<td width=\"30%\">".$datum."</td>";
echo "</tr>";

}

// Beeindig tabel
echo "</table>";


echo "Bovenstaande is gevonden.<br><br><a href='./zoek.php'>Nieuwe zoekopdracht...</a>";

}
}
}
else
{
 
Dit staat op het scherm als ik een foto upload naar de server , dan denk ik dat images/ de map is om te zoeken , want zo staat hij in mijn verkenner op de database.

Mischien kan je me nog even verder helpen.

mvg , Richard

++directorty bestaat05/04/11 14.10:56

path: /customers/rm-v.eu/rm-v.eu/tmp/phpmhOBdG
name: 1c0601025a.jpg
type: image/pjpeg
size: 33887
1c0601025a.jpg dit is een afbeelding
Afbeelding staat op de server

images/1c0601025a.jpg is toegevoegd aan de database met als omschrijving :
D1C0601025A
 
wat is de URL als je het script gebruikt.
Als je vanaf de www.blabla.nl/ werkt, dan kun je vanuit de root naar images/map/foto.jpg

Is de URL www.blabla.nl/script/ dan moet je eerst een niveau omhoog voor je in de root zit
dus ../images/map/foto.jpg

je zou jet nog met
if(is_file($path_foto))
{
echo 'Foto gevonden';
}

En je voert je queries niet uit in de database
kijk hier eens
want andes moet de foto
 
Beste Phobia ,

Mijn php bestanden staan op www.------.eu/artikel/-----.php

En mijn foto's staan niet in een directe directory maar via een php bestand zijn die in
een database gezet , als ik daar ga kijken en doe verkennen bij mijn sql dan staat
daar images/foto1.jpg en de andere foto's , verder kan ik ze niet vinden als ik
met mijn ftp programma ga zoeken op de root van mijn aanbieder.

Hoop je nu genoeg info te hebben gegeven om verder te helpen
Ik weet helemaal niet hoe ik verder moet en ook wat je schreef ( code ) weet ik
niet hoe te gebruiken.

Alvast veel dank
 
Ik kan niet geloven dat de foto in de database staat, het pad naar de foto wil ik geloven.
En foto in een database zetten is dom overbodig en misbruik van je database server.

Wat er denk ik wel gebruikt is,
Je upload script plaats de foto's in een folder 'images' (deze zal ergens in je root staan)
vervolgens zal het script in je database wat gegevens wegschrijven oa het naar de foto (iets als images/foto1.jpg)

Vervolgens op een pagina waar de foto weergegeven moet worden zal een script contact maken met je database
en de gegevens voor de gewenste foto ophalen oa het pad naar de foto.

zoek op je server eens naar de map images.
Die zal in je root staan of in de folder artikel.
Ergens moet de map zich bevinden met de foto's er in.
 
Beste Phobia ,

Je hebt helemaal gelijk met dat path

Ik heb een map ARTIKEL daar staan mijn PHP bestanden in en een map IMAGES met foto

Nu heb ik nog een aantal dingen geprobeerd maar ik krijg geen foto te zien.

Ook zelfs geen gewone foto laten zien zonder een zoekopdracht.
Wordt er helemaal suf van , proberen opslaan ie openen en weer opnieuw

heb nu dit ergens boven in $foto = "<img src='/images/1c0601025a.jpg'>";

en dit onderin echo $foto;

weet het echt niet meer
 
Okey, je script die de images laat zien staat in folder 'artikel'
De map met de foto's ook.
De naam van de foto's is dat geschreven in upper of lower karakters?

Je kunt voor de slash een punt zetten dus "./images/foto.jpg"
of de slash weg halen.
en zet die string eens net boven de echo.

Zet het script anders eens helemaal online(wat de foto moet weergeven)
Maar doe het ff in de geavanceerd reageren, en zet het script ff tussen de
PHP:
tags!
 
Beste Phobia ,

Hierbij mijn script :

Ik heb 3 x een database :

1e - ID - voornaam - achternaam - leeftijd - datum // voornaam is belangrijkste

2e - ID - voornaam - omschrijving - datum // voornaam zelfde als 1e voornaam

3e - nummer - omschrijving - afbeelding // omschrijving zelfde als 1e voornaam

afbeeldingen staan in MAP images
De 1e voornaam - 2e voornaam - 3e omschrijving zijn in hoofdletters D1Z0601025A als voorbeeld je kan kijken op www.rm-v.eu/artikel/zoek.php Alvast bedankt

// hier boven staan mijn inloggegevens.

// Toon als $_POST['zoek'] verstuurd is
if(isset($_POST['zoek']))
{
// Stel variable in voor onze post zoekwoord.
$zoekwoord = $_POST['zoekwoord'];

// Je zoekwoord is korter dan 1 karakters en dan krijg je teveel resultaten
if(strlen($zoekwoord) <= 0){
echo "Je zoekterm is te kort.";
}
else
{
// Zoek op zoekwoord en vraag aantal op om te gebruiken :)
$sql = mysql_query("SELECT * FROM formulier WHERE voornaam LIKE '$zoekwoord' ORDER BY voornaam ASC")or die(mysql_error());


$select2 = mysql_query("SELECT SUM(leeftijd) AS aantal_leeftijd FROM formulier WHERE voornaam LIKE '$zoekwoord' ORDER BY voornaam ASC");
$row = mysql_fetch_assoc($select2);
$totaal = $row['aantal_leeftijd'];


$select3 = mysql_query("SELECT (omschrijving) FROM artikeloms WHERE voornaam LIKE '$zoekwoord' ORDER BY voornaam ASC");
$row3 = mysql_fetch_assoc($select3);
$totaal3 = $row3['omschrijving'];


// onderstaande had ik geprobeerd maar het is me deze week weer niet gelukt
//

$query = "SELECT (omschrijving) FROM afbeelding WHERE voornaam LIKE '$zoekwoord'";
$row4 = mysql_fetch_assoc($query);
$totaal4 = $row4['omschrijving'];


// Als er geen zijn toon niets.
if($aantal == "0")
{
echo "<b>Resultaten :</b><br />";
echo "Er is niets gevonden in de database...";

}

else
{
// Als er wel zijn toon mooi tabelletje + wat informatie.
echo "U heeft gezocht op - :'".$zoekwoord."'.<br /><br />";

echo "Omschrijving :<b> $totaal3</b><br><br>";
echo "Aantal gevonden :<b> $totaal</b><br><br>";


echo "<b>Resultaten :</b><br />";

// Stel het toon tabelletje op
echo "<table cellpadding='2' cellspacing='1' border='2' width='600'>";
echo "<tr>";
echo "<td width='30%'><b>Artikelnummer</b></td>";
echo "</tr>";

// Zet een while loop en haal informatie op
while($result = mysql_fetch_assoc($sql))

{
// Defineer opgehaalde items

$voornaam = $result['voornaam'];
$achternaam = $result['achternaam'];
$leeftijd = $result['leeftijd'];
$datum = $result ['datum'];


// Toon lijstje
echo "<tr>";
echo "<td width=\"30%\">".$voornaam."</td>";
echo "<td width=\"30%\">".$achternaam."</td>";
echo "<td width=\"10%\">".$leeftijd."</td>";
echo "<td width=\"30%\">".$datum."</td>";
echo "</tr>";



}

// Beeindig tabel
echo "</table>";


echo "Bovenstaande is gevonden.<br><br><a href='./zoek.php'>Nieuwe zoekopdracht...</a>";

}
}
}
else
{
// Zoek formulier
echo "<form method='post' action='zoek.php'>";
echo "<b>Door het artikel bestand zoeken</b><br />";
//echo '<img src="./images/1c0601025a.jpg'">';
echo "Artikelnummer : <input type='text' name='zoekwoord'>";
echo "<input type='submit' name='zoek' value='Zoek Nu!'><br />";
echo "</form>";
}
?>
 
ik neem aan dat dit script via een include op een andere pagina wordt gebruikt.
Want dit script zo opzich zelf zal nooit gegevens uit je database kunnen halen.
Omdat er nergens in het script een verbinding word gemaakt met een database.
En zonder een database verbinden zal een sql result altijd nix zijn.

doe dit eens:
$row = mysql_fetch_assoc($select2) or die(mysql_errors());
Dit laat je zien of mysql een error opleverd.

onderstaande is het stukje wat heel belangrijk is om met een DB te werken:
Dit maakt de verbindeing met je DB server en de 2de regel verbind je met de DB waar de tables staan.

$link = mysql_connect("localhost", "mysql_username", "mysql_password") or die("Geen verbinding met Server<br>".mysql_error();// localhost is meestal waar je database draaid

mysql_select_db("Naam_Database", $link) or die("Geen verbinding met Database<br>".mysql_error();

Hier wordt meer uitgelegd over het gebruik van Mysql.
ps. je hebt niet 3 databasen, maar 3 tables
 
Ne , dat klopt , bovenaan dit scriptje staan de gegevens die verbinding maken met de server . Maar tot nu toe doet alles het wel , beetje plakken e.d. , een foto laten zien gaat wel maar dat heb ik een vaste foto gedefineerd i.p.v. $zoekwoord.

Ik ga straks even testen wat jij hebt geschreven voor mij en dan laat ik het zo spoedig horen

met vriendelijke groet , richard
 
om te testen of je path juist is van uit je script, hardcode het path eens naar een foto door het path uit je database te gebruiken.
Als je door dat de foto opleverd dan is je path juist. anders moet je je gehardcoded path aanpassen tot je je foto kunt zien
testen kun je doen door gebruik te maken van de is_dir() en is_file() functie van php
if(is_file($path))
{
echo $path." is een bestaand bestand.";
}
else
{
echo $path." leverd geen bestand op."

Als je van je $path foto.jpg afhaald, dan kun je op dezelfde manier met is_dir() kijken of de opgeven folder wel bestaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan