.txt database quotes uitlezen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Zelf Weten

Zelf Weten

27/03/2008 14:36:00
Quote Anchor link
Beste PHPhulpers,

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!
 
PHP hulp

PHP hulp

28/11/2021 04:20:07
 
Bo az

Bo az

27/03/2008 14:45:00
Quote Anchor link
Je hebt alle nieuwe gegevens op nieuwe regels, dus je hebt iets nodig om een bestand per regel uit te lezen: 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
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Zelf Weten

Zelf Weten

27/03/2008 14:48:00
Quote Anchor link
Thanks voor je snelle reactie. Ik ga dat even bekijken en zal zo even m'n post plaatsen, kijken of ik het goed doe!
 
Zelf Weten

Zelf Weten

27/03/2008 15:01:00
Quote Anchor link
Ik heb nu dit en dat werkt. Echter krijg ik nu alle quotes onder elkaar die in quotes.txt staan. Kortom, het random deel erin zetten lukt me nog niet echt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$all_quotes
= file("scripts/quotes.txt");
foreach($all_quotes as $quote)
{

    $quote_arr = explode("|",$quote);
        echo '<p>&quot;' . $quote_arr[1] . '&quot;</p><p class="align-right">-&nbsp;' . $quote_arr[0] . '</p>';
}

?>


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
 
Bo az

Bo az

27/03/2008 15:17:00
Quote Anchor link
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(.....)];
 
Zelf Weten

Zelf Weten

27/03/2008 15:21:00
Quote Anchor link
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(.....)];


Wat moet ik dan volgens jou op de ...... zetten?
 
Bo az

Bo az

27/03/2008 15:26:00
Quote Anchor link
Moet je in de php manual bij rand kijken, in dit geval 0 (de minimale waarde) en count($array)-1 (de maximale waarde).
 
Zelf Weten

Zelf Weten

27/03/2008 15:33:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$all_quotes
= file("quotes.txt");
foreach($all_quotes as $quote)
{

    $quote_arr = explode("|",$quote);
        '<p>&quot;' . $quote_arr[1] . '&quot;</p><p class="align-right">-&nbsp;' . $quote_arr[0] . '</p>';
}

echo $all_quote[rand(0,1)];
?>


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?
 
Martijn Wieringa

Martijn Wieringa

27/03/2008 15:54:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo $all_quote[rand(0,sizeof($all_quotes) - 1)];

?>
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
 
Zelf Weten

Zelf Weten

27/03/2008 16:06:00
Quote Anchor link
Hmmm juist ja.

Maar ik krijg hem nog niet na ge-explode te zijn, te zien. Kun jij de fout zien Pholeron?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$all_quotes
= file("quotes.txt");
foreach($all_quotes as $quote)
{

    $quote_arr = explode("|",$quote);
        '<p>&quot;' . $quote_arr[1] . '&quot;</p><p class="align-right">-&nbsp;' . $quote_arr[0] . '</p>';

}


echo $all_quotes[rand(0,sizeof($all_quotes) - 1)];

?>


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
 
Zelf Weten

Zelf Weten

27/03/2008 17:20:00
Quote Anchor link
Moet ik trouwens all_quotes doen of all_quote bij de rand?
 
- SanThe -

- SanThe -

27/03/2008 17:25:00
Quote Anchor link
Niet Bumpen.
Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de http://www.phphulp.nl/imgs/forum/edit.gif knop om je tekst aan te passen.

SanThe.
 
Mike van Dongen

Mike van Dongen

27/03/2008 17:38:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$all_quotes
= file("quotes.txt");
$all_quotes = $all_quotes[rand(0,sizeof($all_quotes) - 1)];

$quote_arr = explode("|",$all_quotes);
        '<p>&quot;' . $quote_arr[1] . '&quot;</p><p class="align-right">-&nbsp;' . $quote_arr[0] . '</p>';
?>
 
Zelf Weten

Zelf Weten

28/03/2008 14:12:00
Quote Anchor link
SanThe schreef op 27.03.2008 17:25:
Niet Bumpen.
Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de http://www.phphulp.nl/imgs/forum/edit.gif knop om je tekst aan te passen.

SanThe.


Zo kom ik ook wel aan m'n 11812 posts :-P

@Micky
Dank, ik ga het proberen! Super!
 
Zelf Weten

Zelf Weten

28/03/2008 14:38:00
Quote Anchor link
Topshit, hij werkt.

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....
 
Mark PHP

Mark PHP

28/03/2008 14:40:00
Quote Anchor link
Om een random waarde uit een array te halen kan je beter array_rand() gebruiken in plaats van rand(0,sizeof($array) - 1). Let wel, array_rand() geeft de key terug.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Zelf Weten

Zelf Weten

29/03/2008 00:14:00
Quote Anchor link
Hierbij het vervolg. Namelijk mijn eigen agenda-dingetje.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
}

?>


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!
 
Jesper Diovo

Jesper Diovo

29/03/2008 10:28:00
Quote Anchor link
Vooraf met een if() controleren of $agenda_num gelijk is aan $agenda_arr[0].
Is dat zo de regel tonen, anders niets.
 
Zelf Weten

Zelf Weten

30/03/2008 19:11:00
Quote Anchor link
Dan zou het dus zoiets moeten worden als ik je goed begrijp:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.');
        }
    }
}
        
?>


Echter werkt dit niet, maar ik zit wel in de buurt niet waar?
 
Zelf Weten

Zelf Weten

30/03/2008 22:50:00
Quote Anchor link
Ben ik weer!
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<head>
<style type="text/css">
p.lowercase
{
    text-transform:lowercase;
}
</style>
</head>
<?php
$all_quotes
= file("leden.txt");
foreach($all_quotes as $quote)
{

    $quote_arr = explode("|",$quote);
        echo '<p class="lowercase\">' . $quote_arr[10] . '' . $quote_arr[12] . '' . $quote_arr[11] . '</p><br>';
}

?>
 
Mike van Dongen

Mike van Dongen

30/03/2008 22:54:00
Quote Anchor link
kan met strtolower().
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.