String volledig Inladen uit Query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

JunkieXP

JunkieXP

24/06/2007 12:52:00
Quote Anchor link
Ik heb een probleem met een string die word opgehaald dmv een While Loop die een Query uitleest.

Wat er gaande is, is het volgende. Ik laat een text uit de Database inladen in een String, en vervolgens haal ik deze string door een Class heen die de string opsplitst. Echter spuigt hij dan maar een deel van de tekst uit, en het lijkt dus alsof de string niet helemaal klaar is met het ophalen van de text uit de Database, want als ik namelijk de text die in de Database zet direct in de string zet werkt het wel normaal.

Hoe kan ik ervoor zorgen dat de Text eerst volledig uit de Database en in de String gezet wordt, alvorens het script verder gaat met het uitvoeren van eventuele classes of functions?
 
PHP hulp

PHP hulp

18/05/2021 18:43:34
 
- Roland -

- Roland -

24/06/2007 12:56:00
Quote Anchor link
is het veld in de database wel groot/lang genoeg ?
(als 't niet past kun je het ook nooit weer helemaal terug krijgen)
 
Joren de Wit

Joren de Wit

24/06/2007 13:10:00
Quote Anchor link
Dat is inderdaad een heel groot nadeel van mysql, er wordt geen foutmelding gegeven als jij bijvoorbeeld een string van 260 tekens in wilt voeren terwijl jij het maximum van een varchar op 255 ingesteld hebt. Er valt gewoon een deel van de tekst weg. Let daar altijd op als je gegevens naar een database schrijft!

Controleer dus eens of de gegevens wel goed in je database staan.
 
JunkieXP

JunkieXP

24/06/2007 15:38:00
Quote Anchor link
Ik ken het, maar dat is niet het probleem.

Wanneer ik de String namelijk niet door een Class heen haal en direct echo pakt hij de tekst wel helemaal, het lijkt er dus echt op dat de string nog niet helemaal volgeladen is op het moment dat hij de Class aanroept.
 
Frank -

Frank -

24/06/2007 15:43:00
Quote Anchor link
Quote:
Ik laat een text uit de Database inladen in een String, en vervolgens haal ik deze string door een Class heen die de string opsplitst.
Wanneer je een query hebt uitgevoerd, komen de resultaten in een result-set te staan. Dat heeft dus niks met een string te maken.

Hoe jij deze resultaten verder gaat fetchen, dat is een ander verhaal, maar dat wordt hier niet duidelijk.

Zorg er wel voor dat je bij meerdere resultaten, de boel wel in een loop gaat fetchen, anders krijg je alleen het eerste resultaat retour.

Zie php.net hoe je met resultsets aan de slag kunt. Ik krijg namelijk de indruk dat er een fout zit in de logica.
 
Jelmer -

Jelmer -

24/06/2007 15:47:00
Quote Anchor link
JunkieXP schreef op 24.06.2007 15:38:
Ik ken het, maar dat is niet het probleem.

Wanneer ik de String namelijk niet door een Class heen haal en direct echo pakt hij de tekst wel helemaal, het lijkt er dus echt op dat de string nog niet helemaal volgeladen is op het moment dat hij de Class aanroept.

Klinkt mij meer alsof je Class zijn werk wat te goed doet... Laat eens zien? (inclusief aanroep graag, en zonder de methods die je in dit onderdeel niet gebruikt, bespaart uitzoekwerk en verhoogt aantal mensen dat je wilt helpen! ^^,)
 
JunkieXP

JunkieXP

24/06/2007 23:09:00
Quote Anchor link
De Class werkt niet helemaal naar behoren idd, maar wanneer ik de gegevens uit de Database direct in de PHP code zet output de Class mijn test stuk tekst (om en nabij 1400 tekens) wel correct.

Vandaar dat ik de problemen in de Class uitsloot.

Bij deze alsnog de Class:
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
38
39
40
41
42
<?php
    /**
    * This Function creates the Content for 2 Columns
    *
    * Fully Created by JunkieXP
    */

    public function TwoColumns($p_strContent){
        /**
        * Total Length of full Stripped String
        */

        $iContentLength = strlen(strip_tags($p_strContent));
        
        /**
        * Amount of Chars per Column
        */

        $iContentChars = $iContentLength / 2;
        
        /**
        * Start Char of Right Column
        */

        $iContentStartRightColumn = floor($iContentChars);
        
        /**
        * Look if Chars per Column is Equal and create Content for both Columns
        */

        if($iContentChars % 2 == 0){
            $strContentLeftColumn = substr($p_strContent, 0, $iContentChars+1);
            $strContentRightColumn = substr($p_strContent, $iContentStartRightColumn+1, $iContentChars);
        }
else{
            $strContentLeftColumn = substr($p_strContent, 0, $iContentChars);
            $strContentRightColumn = substr($p_strContent, $iContentStartRightColumn, $iContentChars);
        }

        
    /**
    * Write Content to Array $arrColumns
    */

    $arrColumns['Left'] = $strContentLeftColumn;
    $arrColumns['Right'] = $strContentRightColumn;
    
    return $arrColumns;
    }

?>
Gewijzigd op 01/01/1970 01:00:00 door JunkieXP
 
JunkieXP

JunkieXP

26/06/2007 16:22:00
Quote Anchor link
Heb je het probleem nog doorzien Jelmer?
 



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.