.txt database quotes uitlezen
Heb 't script nog niet kunnen vinden maar zoek een simpele tekst database waaruit ik 2 variabelen kan halen. Namelijk een "quote" van een persoon en de "persoon" die daarbij hoort. Dus bijvoorbeeld:
<quotes.txt>
Andre Agassi|Tennis is my life, i love it|
Kim Klijster|Een tennisbal is rond|
Etc. vervolgens wil ik deze quotes randommised uitlezen. Het toevoegen doe ik wel lekker simpel gewoon, daar hoeft geen add-systeem voor. Schrijf ik later anders zelf wel. Dank alvast voor degene die me er mee uit kan helpen!
file()
Je gegevens zijn gescheiden door | dus je hebt iets nodig om te splitsen: explode
Je wil een random quote, dus je hebt iets nodig om een random getal te maken: rand
Je hebt alle nieuwe gegevens op nieuwe regels, dus je hebt iets nodig om een bestand per regel uit te lezen: Je gegevens zijn gescheiden door | dus je hebt iets nodig om te splitsen: explode
Je wil een random quote, dus je hebt iets nodig om een random getal te maken: rand
Gewijzigd op 01/01/1970 01:00:00 door Bo az
Thanks voor je snelle reactie. Ik ga dat even bekijken en zal zo even m'n post plaatsen, kijken of ik het goed doe!
Code (php)
Moet ik dan eigenlijk nog een nummer voor de naam zetten en dat hij die dan vervolgens eruit haalt?
Dank!
EDIT
Ik handhaaf gewoon de opmaak zoals ik in mijn openingspost heb vermeld. Dus zo:
naam1|quote van de persoon|
naam2|quote van de persoon|
etc. etc.
Gewijzigd op 01/01/1970 01:00:00 door Zelf Weten
Je zal 1 index van de array '$all_quotes' moeten pakken en die moeten weergeven. Dus iets als echo $all_quotes[rand(.....)];
Boaz schreef op 27.03.2008 15:17:
Dat komt omdat je ze allemaal langs loopt in je in je foreach lus.
Je zal 1 index van de array '$all_quotes' moeten pakken en die moeten weergeven. Dus iets als echo $all_quotes[rand(.....)];
Je zal 1 index van de array '$all_quotes' moeten pakken en die moeten weergeven. Dus iets als echo $all_quotes[rand(.....)];
Wat moet ik dan volgens jou op de ...... zetten?
rand kijken, in dit geval 0 (de minimale waarde) en count($array)-1 (de maximale waarde).
Moet je in de php manual bij Code (php)
Ik kom er nog niet helemaal uit. Nu explode hij namelijk niet en moet ik steeds de maximale waarde zelf aanpassen. Waar moet ik die count() ding zetten?
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
Maar ik krijg hem nog niet na ge-explode te zijn, te zien. Kun jij de fout zien Pholeron?
Code (php)
Weet niet zo heel goed wat ik nou precies moet doen en het waar moet neerzetten. Hij randomised nu wel, eindelijk. Heb de code even aangepast. Maar hij explode hem niet goed. Dank!
Gewijzigd op 01/01/1970 01:00:00 door Zelf Weten
Moet ik trouwens all_quotes doen of all_quote bij de rand?
Bumpen::
SanThe.
SanThe schreef op 27.03.2008 17:25:
Zo kom ik ook wel aan m'n 11812 posts :-P
@Micky
Dank, ik ga het proberen! Super!
Ik heb ook al een formulier aangemaakt waarmee ik ze kan toevoegen. Verder ben ik er nog mee bezig om ook het zo te maken dat ik ze kan wijzigen over verwijderen. Maar dan moet ik er ook een ID voor zetten, niet waar? Ja toch? Dus dat ik een bestand heb id_nummer.php waarin steeds het laatste nummer wordt gezet? Of kan hij dat uitlezen? Naja, daar moet ik dus me nog iets beter in verdiepen....
array_rand() gebruiken in plaats van rand(0,sizeof($array) - 1). Let wel, array_rand() geeft de key terug.
Om een random waarde uit een array te halen kan je beter Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$all_agendas = file("agenda.txt");
foreach($all_agendas as $agenda)
{
$agenda_num = $_GET['eventid'];
$agenda_arr = explode("|",$agenda);
echo $agenda_arr[1] . ' (ID ' . $agenda_arr[0] . ')<br>' . $agenda_arr[2] . '<br>' . $agenda_arr[3] . '<br>' . $agenda_arr[4] . '/' . $agenda_arr[5] . '/' . $agenda_arr[6] . '<br>' . $agenda_arr[7] . '<br><br>';
}
?>
$all_agendas = file("agenda.txt");
foreach($all_agendas as $agenda)
{
$agenda_num = $_GET['eventid'];
$agenda_arr = explode("|",$agenda);
echo $agenda_arr[1] . ' (ID ' . $agenda_arr[0] . ')<br>' . $agenda_arr[2] . '<br>' . $agenda_arr[3] . '<br>' . $agenda_arr[4] . '/' . $agenda_arr[5] . '/' . $agenda_arr[6] . '<br>' . $agenda_arr[7] . '<br><br>';
}
?>
Zoals je ziet wil ik dus als men op agenda.php?eventid=1 is, dat zij dan event nummer 1 zien zoals deze in de database staat opgeslagen. Kortom, hij moet de regel tonen waar de $agenda_num overeen komt met $agenda_arr[0].
Hoe doe ik dat? Dank!
Is dat zo de regel tonen, anders niets.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$all_agendas = file("agenda.txt");
foreach($all_agendas as $agenda)
{
$agenda_num = $_GET['eventid'];
{
if($agenda_num == $agenda_arr[0];){
$agenda_arr = explode("|",$agenda);
echo $agenda_arr[1] . ' (ID ' . $agenda_arr[0] . ')<br>' . $agenda_arr[2] . '<br>' . $agenda_arr[3] . '<br>' . $agenda_arr[4] . '/' . $agenda_arr[5] . '/' . $agenda_arr[6] . '<br>' . $agenda_arr[7] . '<br><br>';
}
else {
echo ('Er is geen eventid geselecteerd.');
}
}
}
?>
$all_agendas = file("agenda.txt");
foreach($all_agendas as $agenda)
{
$agenda_num = $_GET['eventid'];
{
if($agenda_num == $agenda_arr[0];){
$agenda_arr = explode("|",$agenda);
echo $agenda_arr[1] . ' (ID ' . $agenda_arr[0] . ')<br>' . $agenda_arr[2] . '<br>' . $agenda_arr[3] . '<br>' . $agenda_arr[4] . '/' . $agenda_arr[5] . '/' . $agenda_arr[6] . '<br>' . $agenda_arr[7] . '<br><br>';
}
else {
echo ('Er is geen eventid geselecteerd.');
}
}
}
?>
Echter werkt dit niet, maar ik zit wel in de buurt niet waar?
Ik probeer de loginnaam even te genereren zodat ik die zometeen goed kan invoeren in m'n database. Echter staan de namen zo in m'n excel bestand:
Nick de Boer.
Als ik die met het script hieronder wil printen, krijg ik ze alsnog als:
NickdeBoer
te zien. Hoe los ik dit op zodat ze kleine letters en allemaal lowercase zijn?
THNX!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
kan met strtolower().