Een heel simpel script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Rob

Rob

23/12/2005 10:30:00
Quote Anchor link
Hoi allemaal.
Ik heb een heel simpel script gemaakt, waarvan ik had gehoopt dat ik data uit een tabel van mijn PHPBB kon lezen. Maar om eerlijk te zijn... Mijn denkt wijze klopt waarschijnlijk niet. Zou iemand een serieuze poging willen wagen om te kijken waar mijn gedachte fout zit?
De enige output is het weblog 2005 headertje.

Groet,
Rob

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php

//-- maak eerst de connectie met de database!
$user = "*****l";
$pass = "*****";
$host = "localhost";
$dbdb = "*****";

if (!mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
   {

   echo "Kan geen verbinding maken met de database.";
   exit();
   }


unset($user);
unset($pass);
unset($host);
unset($dbdb);

$sql = 'SELECT * '
        . ' FROM `phpbb_posts_text` LIMIT 0, 30';

$news = mysql_query($sql);

echo "<b>Weblog 2005</b><p>";

$news = phpbb_fetch_rows($sql);
for ($i = 0; $i < count($news); $i++)
    {

    echo $news[$i]['post_subject'], '<br>';
    echo $news[$i]['post_text'], '<br>';
    echo '<br>';
    echo '<br>';
    }


die();
 ?>
 
PHP hulp

PHP hulp

15/01/2025 17:17:57
 
Robert Deiman

Robert Deiman

23/12/2005 10:52:00
Quote Anchor link
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

//-- maak eerst de connectie met de database!
$user = "*****l";
$pass = "*****";
$host = "localhost";
$dbdb = "*****";

if (!mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
   {

   echo "Kan geen verbinding maken met de database.";
   exit();
   }


unset($user);
unset($pass);
unset($host);
unset($dbdb);

$sql = 'SELECT * FROM phpbb_posts_text LIMIT 0, 30';
$news = mysql_query($sql);

echo "<b>Weblog 2005</b><p>";

while ($news = phpbb_fetch_rows($sql)){

    echo $news['post_subject'], '<br>';
    echo $news['post_text'], '<br>';
    echo '<br>';
    echo '<br>';
    }



?>
Gewijzigd op 23/12/2005 10:53:00 door Robert Deiman
 
Rob

Rob

23/12/2005 11:08:00
Quote Anchor link
Ik heb deze versie ook geprobeerd.
Helaas is de werking hetzelfde. Jij hebt er alleen een while lus in gemaakt, als ik me niet vergis.

Ik krijg geen error op de connect. Wel als ik het password bewust verkeerd invul (als test). Ik ga er dus vanuit dat dit goed is.

Alleen er komt geen uitvoer. Terwijl ik zeker weet dat er data in de database zit. Met PhpMyAdmin en deze query komt er namelijk wel data uit. Ik heb ook het SQL statement zo simpel mogelijk gehouden.

De enig uitvoer is Weblog 2005... maar ja dir is een directe echo naar het scherm.

Wat doe ik verkeerd?
 
Robert Deiman

Robert Deiman

23/12/2005 11:12:00
Quote Anchor link
Ik heb een while lus gemaakt inderdaad en ik heb de variabelen bij je echo gewijzigd. Zoals jij het deed zal nooit werken...
Kopieëer het script wat ik postte eens en vul de goede gegevens even in. Moet werken.

echo $news['post_subject'], '<br>';
echo $news['post_text'], '<br>';

post_text en post_subject zijn wel echt de namen van de kolommen?
Gewijzigd op 23/12/2005 11:13:00 door Robert Deiman
 
Rob

Rob

23/12/2005 11:27:00
Quote Anchor link
Oke, ik begrijp denk ik de aanpassingen wel in de echo. Die zijn ontstaan doordat ik eerst PhpbbFetchall gebruikte om de data te ontsluiten.

Ik vrees helaas, want ik heb nogmaals je script op de server gezet, dat het niet werkt.
De velden kloppen ook. Deze heb ik overgenomen van PgpMyAdmin. Er zijn echter nog wel 2 velden meer, maar dat maakt niet uit denk ik?
Eigenlijk snap ik de echo niet meer. Als het goed is bestaat het result uit meerdere records. Ik zie in de while lus helemaal niet meer terug welk record het is. Maar dit kan echter komen door mijn gebrek aan kennis. Ik probeer door er mee te spelen wat kennis op te bouwen.

Groet,
Rob
Gewijzigd op 23/12/2005 11:28:00 door Rob
 
Robert Deiman

Robert Deiman

23/12/2005 11:30:00
Quote Anchor link
Met die While pakt die een rij uit je database, dan gaat die de lus in, en gaat die echo'en. Maar ik zie trouwens wel wat er fout is.. Erg consequent ben je niet :P

$news = mysql_query($sql);

while ($news = phpbb_fetch_rows($sql)){

De ene keer werk je met mysql, en de andere keer met phpbb.. maar dat moet dan ook mysql zijn :)
 
Willem Jan Z

Willem Jan Z

23/12/2005 11:30:00
Quote Anchor link
mysql_error()?
 
Rob

Rob

23/12/2005 12:00:00
Quote Anchor link
@Willem-Jan Als newbie wil ik je wel voorzien van error meldingen, maar die krijg ik niet. Als je me uitlegt hoe ik die kan genereren doe ik het gelijk.

@Robert.
Sorry... ik ben nu iets verder. Die ene sql regel moest er niet in staan. Dat komt door slecht combineer werk en te weinig kennis. Het script is nu zoals hier onder. Je ziet aan de scrolbar dat er mega veel data gegenereerd wordt... alleen komt er niets op het scherm te staan... alleen lege regels.

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

//-- maak eerst de connectie met de database!
$user = "*****";
$pass = "*****";
$host = "localhost";
$dbdb = "*****l";

if (!mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
   {

   echo "Kan geen verbinding maken met de database.";
   exit();
   }


unset($user);
unset($pass);
unset($host);
unset($dbdb);

$sql = 'SELECT * '
        . ' FROM `phpbb_posts_text` LIMIT 0, 30';

$news = mysql_query($sql);

echo "<b>Weblog 2005</b><p>";

while ($news = mysql_query($sql))
    {

    echo $news['post_subject'], '<br>';
    echo $news['post_text'], '<br>';
    echo '<br>';
    echo '<br>';
    }

?>
 
Robert Deiman

Robert Deiman

23/12/2005 12:08:00
Quote Anchor link
@Willem-Jan
Jah.. kan ook, alleen geeft die geen mysql error :P Hij doet phpbb_fetch_rows, terwijl die overal met mysql werkt.
En hij wil ook de rijen ophalen van $sql (waar dus alleen de tekst voor de query in staat) in plaats van uit $news, waarin de mysql_query wordt uitgevoerd.

@Rob
Oh.. ik zie net nog wat.. was blijkbaar nog niet wakker:

Je moet de fetch row ook van $news doen en niet van $sql.
 
Robert Deiman

Robert Deiman

23/12/2005 12:13:00
Quote Anchor link
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

//-- maak eerst de connectie met de database!
$user = "*****";
$pass = "*****";
$host = "localhost";
$dbdb = "*****l";

if (!mysql_select_db($dbdb, mysql_connect($host, $user, $pass)))
   {

   echo "Kan geen verbinding maken met de database.";
   exit();
   }


unset($user);
unset($pass);
unset($host);
unset($dbdb);

$sql = 'SELECT * '
        . ' FROM `phpbb_posts_text` LIMIT 0, 30';

$news = mysql_query($sql);

echo "<b>Weblog 2005</b><p>";

while ($newsgeg = mysql_query($news))
    {

    echo $newsgeg['post_subject'], '<br>';
    echo $newsgeg['post_text'], '<br>';
    echo '<br>';
    echo '<br>';
    }

?>
 
Rob

Rob

23/12/2005 12:39:00
Quote Anchor link
Ik durf het niet te zeggen...
Dit doet minder... Genereert ook geen lege regels...
Moet de echo niet $news zijn ipv $newsgeg?
Anyway... ik heb beide manieren geprobeerd. Helaas werkt het niet.
Sorry...
 
Jan Koehoorn

Jan Koehoorn

23/12/2005 12:57:00
Quote Anchor link
En zo?

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

//-- maak eerst de connectie met de database!
$user = "*****"; // eigen user invullen
$pass = "*****"; // eigen pass invullen
$host = "localhost";  // klopt meestal, checken in phpmyadmin
$dbdb = "*****"; // eigen dbdb invullen

mysql_connect ($host, $user, $pass);
@
mysql_select_db ($dbdb) or die ('Fout bij het selecteren van de database');

unset($user, $pass, $host, $dbdb);

$sql = "
  SELECT *
  FROM phpbb_posts_text
  LIMIT 0, 30"
;

if (!($res = mysql_query($sql))) {
  trigger_error (mysql_error ());
}

else {
  echo '<p><b>Weblog 2005</b></p>';
  
  while ($row = mysql_fetch_array ($res)) {
    echo '<p>' . $row['post_subject'] . '</p>';
    echo '<p>' . $row['post_text'] . '</p>';
  }
}

?>
Gewijzigd op 23/12/2005 15:12:00 door Jan Koehoorn
 
Rob

Rob

23/12/2005 13:44:00
Quote Anchor link
Ik durf het bijna niet te zeggen...
Helaas...
Het connecten lijkt goed te gaan. Geen error. Als ik het verkeerde password kies krijg ik error uit het script dat hij niet kan selecteren. Dat lijkt dus te werken. De entries zijn letterlijk uit PHPBB en die werkt oke.

Helaas krijg ik geen output... op de Weblog 2005 echo na...

Groet,
Rob
 
Mischa Gorinskat

Mischa Gorinskat

23/12/2005 13:51:00
Quote Anchor link
jan je doet:

$row = mysql_fetch_array($res1)

maar ook dit:

$res = mysql_query($sql)

is dit niet beter:

$row = mysql_fetch_array($res)

btw kun je ook doen:

print_r($row); dan zie je wat er allemaal precies in $row staat
Gewijzigd op 23/12/2005 14:13:00 door Mischa Gorinskat
 
Rob

Rob

23/12/2005 15:01:00
Quote Anchor link
Dank je wel allemaal...
Door jullie hulp ben ik er uit!!!! wowowowowow

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
while ($row = mysql_fetch_array ($resl)


moest zijn

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
while ($row = mysql_fetch_array ($res)
 
Jan Koehoorn

Jan Koehoorn

23/12/2005 15:13:00
Quote Anchor link
@ Mischa & Rob: klopt, was een tikfoutje. Ik heb hem er inmiddels uitgehaald.
 
Rob

Rob

23/12/2005 15:22:00
Quote Anchor link
WOW... echt mooi...
Zelfs een uitgebreidere query werkt...

Nu nog iets verzinnen om de codes die in de text zitten te vervangen door kleuren en links en afbeldingen... Deze codes worden namelijk door PHPBB in de text gezet. Zoals deze.


[/color=red:714e431880]
Link

Dit soort codes staan in de text. Is er een eenvoudige mainer dat ik deze omzet in een handeling. Zoals rood aanzetten? URL link creeeren.

Heeft iemand een idee?
 
Rob

Rob

23/12/2005 15:22:00
Quote Anchor link
trouwens... die link is hierboven al vertaald in een echte link... grappig...
 
Jan Koehoorn

Jan Koehoorn

23/12/2005 15:34:00
Quote Anchor link
Ja, dat is weer de code van PHPhulp die dat doet.

Kleurcodes zou ik doen met <span> tags. Als je vervangt door <span style="color: red;"> ben je er al.

Vervangen kun je doen met str_replace.
 
Rob

Rob

23/12/2005 15:38:00
Quote Anchor link
Thanks...
Dan zal ik die eens met str_replace onderhanden gaan nemen.
Dit moet lukken...

Rob
 
Rob

Rob

25/12/2005 12:15:00
Quote Anchor link
Ik denk dat doe ik wel ff...
Maar ik zie nu dat ik het script dat onstaan is, niet helemaal meer begrijp. Ik begrijp niet hoe je een next lus kan maken met daarin niet een teller... Ik bedoel hiermee de while lus...
Ik andere talen, heb je dan een teller die oploopt om op die manier de volgende entrie te laten zien.
Om deze rede weet ik dus niet waar ik de str_replace moet zetten...
Zou iemand me heel kort uit kunne leggen hoe ik het script moet lezen... en de juiste plaats aangeven waar ik dit dus moet paatsen. Ik wil het zelf maken, dus je hoeft het niet in te vullen.
Ik heb wel wat ervaring met vbscript en wat basic ed... maar dit php script kan ik volgen in grove lijnen. Wie heeft er tijd me dit iets verder uit te leggen.

Rob
 

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.