ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Verwijderd
Verwijderd schreef op 17 januari 2004 @ 19:19:
Om een antwoord te geven op jouw laatste vraag: PHP is wel degelijk niet case sensitive. $var == $VaR.
http://nl.php.net/manual/nl/language.variables.phpVariables in PHP are represented by a dollar sign followed by the name of the variable. The variable name is case-sensitive.
Variabelen en constanten zijn hoofdlettergevoelig.
maar dan zit ik nog steeds met het hoofdprobleem... moet je nou pad meegeven of niet? en moet dat pad relatief zijn ten opzichte van de php file?
punt is dat mijn host ook nog eens van servers aan het wisselen is wat het niet makkelijker maakt...
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Dan haal je het bestand op met
1
2
3
| $plaatje = "foto.jpg"; // deze var komt uit de database $path = 'path/to/fotomap/'; $path_plaatje = $path.$plaatje; |
[ Voor 9% gewijzigd door dArtagnan op 17-01-2004 19:46 ]
Punt is dat als ik hem zou toevoegen aan de database wil ik dat die automatisch op de foto pagina verschijnt.. dat hoeft dus helemaal niet de foto te uploaden...
heb gewoon public_html/images waar de foto's in staan.....
invul pagina:
1
2
3
4
5
6
7
8
9
| <FORM ACTION="add2.php" METHOD="POST"> Filename: <INPUT TYPE="text" Size="80" NAME= "Filename"> <p> Description: <INPUT TYPE="text"size="83" NAME="Description"> <p> <INPUT TYPE="submit" VALUE="Voeg toe..."> </FORM> |
toevoeg pagina:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| <?php include 'connect.php'; $Filename = $_POST["Filename"]; $Description = $_POST["Description"]; $Info = mysql_query("SELECT CURRENT_DATE"); $Date = mysql_result($Info, 0, 'CURRENT_DATE'); if ($Filename && $Description) { $actie = mysql_query("INSERT INTO photo (Id, Date, Filename, Descripition) VaLUES (NULL, '$Date', '$Filename', '$Description')") or die("Error at adding"); echo "<h3>Photo Added</h3>"; echo $Date."<br>"; } else { echo "Fill in both the filename and the description! </h3>"; } ?> |
[ Voor 63% gewijzigd door Lord_T op 17-01-2004 19:58 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
De foto's staan dus al op de server? Dan moet je dus gewoon een formulier maken waarin je de naam van de foto opgeeft en de beschrijving. Bij de naam van de foto is het het makkelijkste om hier dan de bestandsnaam op te geven zonder het pad. Dus alleen foto.jpg. Die voeg je dan samen met de beschrijving aan de database toe.Lord_T schreef op 17 januari 2004 @ 19:50:
weet niet of iemand toevallig die pcm heeft gelezen maar ja..
Punt is dat als ik hem zou toevoegen aan de database wil ik dat die automatisch op de foto pagina verschijnt.. dat hoeft dus helemaal niet de foto te uploaden...
heb gewoon public_html/images waar de foto's in staan.....
Vervolgens selecteer je de variabelen uit de database.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| // verbinding maken met de databse mysql_connect("localhost", "gebruikersnaam", "pass"); mysql_select_db("mijn_database"); $path = "images/"; $query = " SELECT Id, Date, Filename, Description FROM fotoalbum "; $result = mysql_query($query); while ($row = mysql_fetch_array($result) { // [..] echo $path.$row['Filename']; // [..] } |
Als je de naam van de map images wijzigt of de map verplaatst hoef je alleen maar $path aan te passen.
Dit is nog al een omweg. Als je de huidige datum wil opgeven aan de database kun je ook het type veld van data wijzigen in timesamp. Dan kun je de datum er in elk gewenst formaat uithalen met date_format (http://www.mysql.com/doc/en/Date_and_time_functions.html)PHP:
1 2 $Info = mysql_query("SELECT CURRENT_DATE"); $Date = mysql_result($Info, 0, 'CURRENT_DATE');
Je hoeft de mysql_query niet te alloceren in $actie. Als je trouwens mysql_error() gebruikt in plaats van "Error at adding" dan zie je ook wat mysql voor fout constateerd.PHP:
1 2 $actie = mysql_query("INSERT INTO photo (Id, Date, Filename, Descripition) VaLUES (NULL, '$Date', '$Filename', '$Description')") or die("Error at adding");
[ Voor 50% gewijzigd door dArtagnan op 17-01-2004 20:11 ]
Nu worden ze toegevoegd in de database... alleen ze worden nog niet op de startpagina weer gegeven....
http://82.192.76.82/~thomas/images/bergen.jpg
/images/bergen.jpg
bergen.jpg
Dat zijn de namen + paden nu opgegeven... maar mag nog niet baten...
kan dat komen doordat mijn domein nog niet overgezet is naar die server?
Of ligt dat ook aan typefouten... ?
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Hoe laat je ze op de startpagina zien? Laat eens wat code zien.Lord_T schreef op 17 januari 2004 @ 20:21:
thnx met die mysql_error() vond ik dat ik een typefout ha gemaakt...
Nu worden ze toegevoegd in de database... alleen ze worden nog niet op de startpagina weer gegeven....
http://82.192.76.82/~thomas/images/bergen.jpg
/images/bergen.jpg
bergen.jpg
Dat zijn de namen + paden nu opgegeven... maar mag nog niet baten...
kan dat komen doordat mijn domein nog niet overgezet is naar die server?
Of ligt dat ook aan typefouten... ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| <HTML> <HEAD> <TITLE> photo album </TITLE> </HEAD> <BODY> <CENTER> <h2> Photo album </h2> <a href="add.php">Add</a> <a href="search.php">Search</a> <hr> </CENTER> <?php include 'connect.php'; $result = mysql_query("SELECT * FROM photo ORDER BY date ASC") or die(mysql_error()); $number_rows = mysql_num_rows($result); if($number_rows > 0) { for ($i = 0 ; $i <$number_rows; $i++) { $id= mysql_result($result, $i,'id'); $date = mysql_result($result, $i,'date'); $filename = mysql_result($result, $i,'filename'); $description = mysql_result($result, $i,'description'); echo "<b>Submitted on</b>: ".$date. " - "; echo "<b>File</b>: ".$filename."<br>"; echo "<i>description</i>: ".$description. "</i><p>"; $filename = "pictures/".$filename; if(file_exists($filename)) { echo "<a href =\"showpicture.php?&value=$filename\">[img]\$filename\"[/img]</a>"; } else { echo "Cannot find picture... "; } echo "<a href=\"Remove.php?&id=$id\">Remove</a> or "; echo "<a href=\"Change.php?&id=$id\">Change</a>"; echo "<hr>"; } } ?> </BODY> </HTML> |
momenteel geeft die iedere keer aan : "Cannot find picture... "
let er wel op dat dit heel basic is... maar ja zou dus moeten werken
edit zag dat ik een fout had gemaakt... in regel 29 staat pictures/ ipv images... dat vervangen zorgt dat de optie bergen.jpg een kruisje veroorzaakt...
die je dan rechter muisknop daarop en kies je eigenschappen geeft die dit aan:
http://82.192.76.82/~thomas/$filename" does not exist....
[ Voor 53% gewijzigd door Lord_T op 17-01-2004 20:38 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Maak van pictures eens images, daar staan je foto's immers.PHP:
1 $filename = "pictures/".$filename;
[ Voor 10% gewijzigd door dArtagnan op 17-01-2004 20:37 ]
ja net gedaan maar was te laat met de editKoraalduivel schreef op 17 januari 2004 @ 20:37:
[...]
Maak van pictures eens images, daar staan je foto's immers.
de laatste fout lijkt nu ook opgelost
edit resultaat: klik
[ Voor 26% gewijzigd door Lord_T op 17-01-2004 20:45 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
1
2
| echo "<a href =\"showpicture.php?&value=$filename\"> [img]\$filename\"[/img]</a>"; |
Je aanhalingstekens staan niet helemaal goed.
1
2
3
4
| echo " <a href =\"showpicture.php?&value=$filename\"> [img]\"$filename\"[/img] </a>"; |
[ Voor 51% gewijzigd door dArtagnan op 17-01-2004 20:52 . Reden: forumlayout ]
nu nog wat uiteindelijk de bedoeling gaat worden:
Het doorklikken naar een grotere...
http://82.192.76.82/~thom...e=images/groot/bergen.jpg
Dat geeft hij nu aan...
terwijl als die gewoon
http://82.192.76.82/~thomas/images/groot/bergen.jpg
had gepakt die er al geweest was...
probleem zit hem in de showpicture.php
1
2
3
4
5
| <?php $defilenaam = $_GET["waarde"]; echo "[img]\"$defilenaam\"[/img]"; ?> |
en als resultaat geeft hij namelijk nu kruisjes...
met als eigenschap:
http://82.192.76.82/~thomas/
dus en de naam en het pad klopt niet...
edit: ook opgelost -> fout was waarde ipv value
[ Voor 9% gewijzigd door Lord_T op 17-01-2004 21:40 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Nu wil ik zeg maar in de database onderscheid gaan maken tussen ten eerste:
Foto's Amerika vs Foto's Nederland
en dan daarna binnen Foto's Amerika nog wat sub albums...
Hoe kan ik dit het beste gaan aanpakken...?
edit:
ik zit ff iets te bedenken...
Ik heb nu in mysql control center het volgende:
Database -> Tables -> photo
Als ik daar van maak:
Database -> Tables -> photo_vs
Database -> Tables -> photo_nl
waarbij ik in photo_vs de volgende subalbums aanmaak:
photo_vs -> appartment
photo_vs -> lake
etc....
Nou zijn natuurlijk de vragen wat de eigenschappen van alles moet gaan worden....
dus bij foto had ik een id die primairy key was... die zal ik in alle subdingen ook wel nodig gaan hebben.... int(11)
Klopt mijn gedachten gang een beetje?
[ Voor 53% gewijzigd door Lord_T op 17-01-2004 22:19 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
(m.a.w. pas je database ontwerp aan)
eagle
1
| $result = mysql_query("SELECT * FROM photo ORDER BY date ASC") or die(mysql_error()); |
daar selecteer ik alles uit een tabel...
nou wil ik wel alles maar dan aan een voorwaarde onderheven en dat is dat het in Land=VS zit...
hoe zet ik dat er dan makkelijk in?
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
1
2
3
4
5
6
7
8
| SELECT * FROM photo WHERE land = 'VS' ORDER BY date |
Als je meer wil weten over SQL kijk dan op http://www.w3schools.com/sql
[ Voor 8% gewijzigd door dArtagnan op 17-01-2004 23:43 ]
in sams vind ik daar bijvoorbeeld niets over
wel iets gevonden maar het werkt nog niet helemaal:
1
2
3
4
5
6
7
8
9
10
| <select name = "Land2"> <?php $result = mysql_query("SELECT * FROM country") or die(mysql_error()); $number_rows = mysql_num_rows($result); for($i =0; $i<$number_rows; $i++) { echo "<option>" .mysql_fetch_object($result)."</option>"; } ?> </select> |
[ Voor 125% gewijzigd door Lord_T op 18-01-2004 09:58 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate
Maar ik heb ff hulp nodig met die drop down box....
edit: ohw ja nog een vraag... hoe voorkom je duplicates qua filename? Door filename primairy te maken?
edit2: tis me gelukt om hem unique te maken.. maar de error melding is nogal lelijk... Duplicate entry 'hert2.jpg' for key 2 -> kortom hoe verander ik die?
edit3: (blijf editen
optie1: leeg veld waar je landcode kan toevoegen aan database
optie2: NL
optie3: VS
Maar die optie 2 t/m x moet die halen uit de database...
en als er in optie 1 iets ingevuld wordt moet die dus aan diezelfde database worden toegevoegd
Dat zou de mooie oplossing zijn... een andere minder nette manier is natuurlijk gewoon een apart form maken om een land toe te voegen.... die dan vervolgens wel verschijnt in die drop down box
[ Voor 103% gewijzigd door Lord_T op 18-01-2004 11:25 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Lord_T schreef op 18 januari 2004 @ 10:57:
maakt niet uit... is toch allemaal nog maar test werk
Maar ik heb ff hulp nodig met die drop down box....
1
2
3
4
5
6
7
8
9
| <select name = "Land2"> <?php $result = mysql_query("SELECT * FROM country") or die(mysql_error()); while($countries = mysql_fetch_array($result)){ echo "<option>" .$countries['landnaam']."</option>"; } ?> </select> |
of door hem unique te maken in mySQL; ik denk dat je id momenteel primary is, en dat is ook mooieredit: ohw ja nog een vraag... hoe voorkom je duplicates qua filename? Door filename primairy te maken?
door eerst een check te doen of hij al bestaat voor je hem toevoegdedit2: tis me gelukt om hem unique te maken.. maar de error melding is nogal lelijk... Duplicate entry 'hert2.jpg' for key 2 -> kortom hoe verander ik die?
Dit is wel erg basic PHP allemaal trouwens; heb je al eens gekeken naar goede tututorials op het Internet enzo? We houden op dit forum wel van mensen die het niveau een beetje hoog proberen te houden
[ Voor 60% gewijzigd door Spider.007 op 18-01-2004 11:28 . Reden: php code toegevoegd voor listbox ]
---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate
uhm ja wel gezocht en heb dus sams teach yourself php hier voor me .. maar die werken met dba functies op den duur en daar loop ik vast... als ik namelijk die wil ontwijken omdat ik dba_open() niet kan/wil/weet hoe te gebruiken dan kom je niet echt verder met Sams... en ik vind op internet ook niet echt een heel goede tutorial hierover.. Je kan wel kant en klare scripts pakken maar daar leer je niks van... dus vandaar dan toch maar vragen he..
en ik krijg nu een drop down list met volkomen lege opties... en ben mijn submit knop kwijt...
[ Voor 11% gewijzigd door Lord_T op 18-01-2004 11:38 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
wellicht omdat je geen kolom hebt die landnaam heet? Even de juiste kolomnaam invullen dusLord_T schreef op 18 januari 2004 @ 11:34:
offtopic:
uhm ja wel gezocht en heb dus sams teach yourself php hier voor me .. maar die werken met dba functies op den duur en daar loop ik vast... als ik namelijk die wil ontwijken omdat ik dba_open() niet kan/wil/weet hoe te gebruiken dan kom je niet echt verder met Sams... en ik vind op internet ook niet echt een heel goede tutorial hierover.. Je kan wel kant en klare scripts pakken maar daar leer je niks van... dus vandaar dan toch maar vragen he..
en ik krijg nu een drop down list met volkomen lege opties...
vooral op www.php.net staan bij de meeste functies onderaan hele goede voorbeelden waar je heel veel van kan leren; kijk bijvoorbeeld eens bij mysql_query
---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| <HTML> <BODY> <FORM ACTION="add2.php" METHOD="POST"> Filename: <INPUT TYPE="text" Size="80" NAME="Filename"> <p> Description: <INPUT TYPE="text"size="83" NAME="Description"> <p> Country: <INPUT TYPE="text" size="2" NAME="Land"> <p> <select name = "Land2"> <?php $result = mysql_query("SELECT * FROM country") or die(mysql_error()); while($countries = mysql_fetch_array($result)){ echo "<option>" .$countries['Land']."</option>"; } echo "</select></form>"; ?> <INPUT TYPE="submit" VALUE="Add..."> <p> </BODY> </HTML> |
dit produceert een lege dropdown box.
Dan om even wat te verduidelijken... ik heb nu 2 tabellen waarvan er 1 country heet met daarin 1 field genaamd: Land met daarin 2 waardes: VS en NL
Doe ik het zo:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <select name = "Land2"> <?php $connection = mysql_connect("localhost","user","pass"); $fields = mysql_list_fields("db", "field", $connection); $columns = mysql_num_fields($fields); for ($i = 0 ; $i <$columns; $i++) { echo "<option value=$i>"; echo mysql_field_name($fields, $i); } echo "</select></form>"; ?> <INPUT TYPE="submit" VALUE="Add..."> <p> |
dan krijg ik in de drop down box 1 item namelijk de field header: Land
Waar gaat dit allemaal mis?
[ Voor 22% gewijzigd door Lord_T op 18-01-2004 12:55 ]
ja ja... niet iedereen heeft dezelfde kennis... wees daarom ook eens gewillig en geef een antwoord op een vraag ;)
Als je hier een topic wil openen moet je proberen je aan de QuickStart te houden...
---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate