abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas maandag 27 november 2006 @ 17:06:36 #1
1972 Swetsenegger
Egocentrische Narcist
pi_43933388

cd niet bijgeleverd

Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt

Vorige delen
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

Zie ook
  • PHP Dataverwerking
  • Officiële PHP website
  • PHP Documentatie
  • MySQL Reference Manual
  • Yet Another PHP Faq
  • PHP Cheat Sheet
  • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

    Tutorials
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • pi_43936337
    Waarom gaan de php topics zo snel dicht? 7 pagina's dat is toch niks!
    Edit: weer wat geleerd over fok
    quote:
    Op maandag 27 november 2006 10:32 schreef Darkomen het volgende:
    Webshop met voorraad functie gezocht.

    Jongens ik moet over een tijdje een webshop opzetten voor een goede vriend van me, dit moet allemaal officeel.
    Het moet dus een webshop worden met voorraad systeem zodat hij goed kan bijhouden wat er nog op voorraad is.

    Ik ga dit niet zelf bouwen aangezien er genoeg goede systemen zijn, het enige wat ik zal toevoegen is een CMS gedeelte voor de rest van de site.
    Dit wil ik dan wel via dezelfde login als de webshop laten werken.

    Ik ben wel bezig met wat aan het bekijken bij hotscripts, maar welke zouden jullie aanraden?
    http://www.in-commerce.net/index.html
    395$ coupons, volgens mij alleen als module
    http://digishop.sumeffect.com/index.php
    mooi, netzo duur, wel reports, standalone,
    http://www.ecommercetemplates.com/dreamweaverecommerce.asp
    Ook mooi, allen vondt ik het niet duidelijk of het nu een systeem was of alleen templatse?

    http://www.oscommerce.nl/


    [ Bericht 4% gewijzigd door Darkomen op 28-11-2006 11:22:11 ]
    pi_43936929
    Alle topics gaan op 300 posts automatisch dicht.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_43937182
    quote:
    Op maandag 27 november 2006 19:05 schreef papernote het volgende:
    Alle topics gaan op 300 posts automatisch dicht.
    Grappg hè?
      maandag 27 november 2006 @ 22:36:29 #5
    71919 wonderer
    Hung like a My Little Pony
    pi_43947031
    Mijn host klaagt steeds over "persistant connections". Heeft iemand een goede tut om mijn database/php werk wat fijner te maken voor een server? Waar moet ik op letten? Alvast bedankt.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_43949385
    wonderer: na alle mysql acties de verbinding sluiten, lijkt mij wel voldoende
    quote:
    Op vrijdag 24 november 2006 13:48 schreef ralfie het volgende:

    [..]

    even ter voorbeeld:
    [ code verwijderd ]

    Tis echt niet zo moeilijk
    Ik heb nu die code met de volgende SQL rows:

    id, artist, titel, label, dag, maand, jaar, datum

    - Maar hoe zet ik nu de datum in SQL? YYYYMMDD of time()? Of doe ik het fout?

    edit: ik heb het gevonden, alleen hoe kan ik data omkeren.. ik heb nu de volgende code:

    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
    <?
    $result=mysql_query("SELECT dag,artist,titel,label,MONTHNAME(datum) as maand,YEAR(datum) as jaar FROM albumreleases ORDER BY datum DESC") or die(mysql_error());
    $curr=array(-1,-1);

    while($row=mysql_fetch_assoc($result)) {
            if ($curr[0]!=$row['maand'] || $curr[1]!=$row['jaar']) {
    ?>
    <table width="100%">
    <tr bgcolor="#222222">
       <td colspan="4"><span class="gsgrey10"><b><? echo $row['maand']; ?> <? echo $row['jaar']; ?></b></span></td>
    </tr>
    <?
                    $curr=array($row['maand'],$row['jaar']);
            }
    ?>
    <tr>
       <td><span class="gstext10"><? echo $row['dag'] ?> <? echo $row['maand']; ?></span></td>
       <td><span class="gstext10"><? echo $row['artist'] ?></span></td>
       <td><span class="gstext10"><? echo $row['titel'] ?></span></td>
       <td><span class="gstext10"><? echo $row['label'] ?></span></td>
    </tr>
    <tr>
       <td colspan="4"><img src="/img/grey_dot.gif" width="598" height="1" alt="0"></td>
    </tr>
    <?
    }
    ?>
    </table>


    Het ziet er nu zo uit:

    [maand] [jaar]
    [dag] [artist] [titel] [label]
    [dag] [artist] [titel] [label]

    Maar de [dag] is verkeerd geordend.. bij '5' en '25' komt de '25' boven te staan. Hoe kan ik dit veranderen? Als ik dit in de query doe krijg ik dat voor de hele rits met maanden..

    [ Bericht 65% gewijzigd door RiderXXX op 28-11-2006 00:01:32 ]
    dit
    is
    mijn
    signature.
    pi_43950258
    Ik ben opzoek naar een script waar mee ik bepaalde HTML code kan omzetten in ASCII tekens.
    voorbeeld:
    1
    2
    3
    invoer : <input type="text" name="naam" />

    uitvoer : <input type="text" name="naam" />


    Ik snap nog geen reet van dat eregi en preg_replace. Daar heb ik al mee gevochten maar het lukt me niet.


    edit-
    ik zie dat het hier mis gaat, maar ik wil dus dat bv < word vervangen door & lt; en > door & gt;
    pi_43950651
    htmlspecialchars()?
    http://nl3.php.net/manual/en/function.htmlspecialchars.php


    - edit: en nu het hier toch over gaat.. ik wil dit precies andersom: ik heb een database, met een inhoud een met html ingevoerde code voor een nieuwsbrief-systeem. Maar in de database komt dat met al die codes eruit..

    Ik wil dat men die nieuwsbrief terug kan lezen op internet.. maar hoe zet ik die code weer om zodat het een html pagina wordt?

    heb het al

    [ Bericht 47% gewijzigd door RiderXXX op 28-11-2006 01:08:24 ]
    dit
    is
    mijn
    signature.
      dinsdag 28 november 2006 @ 00:53:10 #9
    71919 wonderer
    Hung like a My Little Pony
    pi_43951136
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function runquery($query,$dblink)
    {
    global
    $myDB;
    $result=mysql_db_query($myDB,$query,$dblink);
    return
    $result;
    mysql_close($dblink);
    }
    ?>


    Mijn code... staat die mysql_close soms op de verkeerde plek?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      dinsdag 28 november 2006 @ 09:47:20 #10
    85514 ralfie
    !Yvan eht nioj
    pi_43954027
    @wonderer: de functie kapt met de return statement, mysql_close() wordt dus niet uitgevoerd
    quote:
    Op maandag 27 november 2006 23:31 schreef RiderXXX het volgende:
    wonderer: na alle mysql acties de verbinding sluiten, lijkt mij wel voldoende
    [..]

    Ik heb nu die code met de volgende SQL rows:

    id, artist, titel, label, dag, maand, jaar, datum

    - Maar hoe zet ik nu de datum in SQL? YYYYMMDD of time()? Of doe ik het fout?

    edit: ik heb het gevonden, alleen hoe kan ik data omkeren.. ik heb nu de volgende code:
    [ code verwijderd ]

    Het ziet er nu zo uit:

    [maand] [jaar]
    [dag] [artist] [titel] [label]
    [dag] [artist] [titel] [label]

    Maar de [dag] is verkeerd geordend.. bij '5' en '25' komt de '25' boven te staan. Hoe kan ik dit veranderen? Als ik dit in de query doe krijg ik dat voor de hele rits met maanden..
    hmm, daar heb ik geen last van. Heb je de datums op de juiste manier ingevoerd? anders zou je ook kunnen proberen 'ORDER BY DATE(datum)' oid
    pi_43954079
    quote:
    Op maandag 27 november 2006 23:31 schreef RiderXXX het volgende:
    wonderer: na alle mysql acties de verbinding sluiten, lijkt mij wel voldoende
    [..]

    Ik heb nu die code met de volgende SQL rows:

    id, artist, titel, label, dag, maand, jaar, datum

    - Maar hoe zet ik nu de datum in SQL? YYYYMMDD of time()? Of doe ik het fout?

    edit: ik heb het gevonden, alleen hoe kan ik data omkeren.. ik heb nu de volgende code:
    [ code verwijderd ]

    Het ziet er nu zo uit:

    [maand] [jaar]
    [dag] [artist] [titel] [label]
    [dag] [artist] [titel] [label]

    Maar de [dag] is verkeerd geordend.. bij '5' en '25' komt de '25' boven te staan. Hoe kan ik dit veranderen? Als ik dit in de query doe krijg ik dat voor de hele rits met maanden..
    Waarom heb je dag, maand, jaar én datum opgeslagen, als de laatste alles al bevat? Dat is niet echt handig, want je kan met PHP heel simpel de eerste 3 uit de laatste verkrijgen.

    Verder heb je waarschijnlijk de dag als een VARCHAR opgeslagen en niet als INT, waardoor de sortering fout gaat. Lexicografisch gezien komt 25 voor 5, terwijl numeriek dat andersom is.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_43961632
    Kan iemand mij met het volgende helpen?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $dir 
    "root/www/open_source/";
    $pad explode('/'$dir);
    $handle=@opendir($dir);
    $naam expolde('_'$pad[3]);
    $test ucfirst($naam[0]);

    echo 
    "<h2>".$pad[2]."/".$test."</h2>";
    ?>

    ...werkt niet.

    Ik geef een map op. Ik split die in verschillende lagen. En ik wil een stuk weer opsplitsen zodat de naam, de eerste letter een hoofdletter wordt. Ik dacht om zo ongeveer het op te lossen maar ik krijg een foutmelding. Nu wil ik graag weten hoe het wel moet of hoe jij het zou gedaan hebben.

    Alvast bedankt! :)
    pi_43961825
    Welke foutmelding krijg je?
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
      dinsdag 28 november 2006 @ 15:01:16 #14
    52200 ViPeRII
    It's a good day to die
    pi_43961827
    Ik heb zoiets hier. Misschien dat je wat aan de code hebt.
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    <?php 

    error_reporting(E_ALL); 

    // Variabelen. 

    // Bewerk deze 

    $dir = "./"; // Vul tussen de  " " De map in die doorzocht moet worden. 
    $pagina_naam = "Directory index"; // Vul tussen " " De naam die de 'mappen browser' moet krijgen. 
    $scheiding = " --> "; // Vul tussen " " het scheidings teken in dat tussen de mappen komt te staan in de navigatie. 
    $datumform = "j/m/Y i:G:s"; // Vul tussen " "  de datum in formaat volgens php syntax date(). 
    // Einde bewerken 

    $HTTP_GET_VARS = ( is_array($_GET) ) ? $_GET: ((is_array($HTTP_GET_VARS)) ? $HTTP_GET_VARS : array()); 

    $hier_level = 0; 
    $map = (isset($HTTP_GET_VARS['map'])) ? $HTTP_GET_VARS['map'] : ""; 
    $map = (substr($map, 0, 1) != "/") ? $map : substr($map, 1); 
    $map = (substr($map, -1) != "/") ? $map : substr($map, 0, -1); 
    $map = str_replace("../", "", $map); 
    $map = str_replace("//", "/", $map); 
    $map = str_replace("///", "/", $map); 
    $map = str_replace("////", "/", $map); 
    $mappen = @explode("/", $map); 
    $hier_level = count($mappen); 
    if(count($mappen) != 0) 

        $page_title = $pagina_naam . ' - ' . $mappen[count($mappen) - 1]; 

    else 

        $page_title = $pagina_naam; 

    function trans($var) 

        $return = str_replace('/index.php','',$var); 
        return $return; 

    echo "<html>n<head>n<title>" . $page_title . "</title>n</head>n<body style="margin: 15px; padding: 15px; font-size: 12px; font-family: verdana;">nn"; 
    $tempmap = ""; 
    for($i = 0; $i < $hier_level; $i++) 

        $tempmap .= (empty($tempmap)) ? $mappen[$i] : '/' . $mappen[$i]; 
        $mappen[$i] = '<a href="' . trans($_SERVER['SCRIPT_NAME']) . $tempmap . '" style="font-family: verdana; font-size: 12px; color: #006699; text-decoration: none;">' . $mappen[$i] . '</a>'; 


    $dir_index = '<a href="index.php" style="font-family: verdana; font-size: 12px; color: #006699; text-decoration: none;">' . $pagina_naam . '</a>'; 
    $flip = trans($_SERVER['SCRIPT_NAME']); 
    $arr = explode('/',$flip); 
    if (count($arr) > 1) 

        $string = $_SERVER['SERVER_NAME']; 
        for ( $counter = 1; $counter < count($arr)-1; $counter ++) 
        { 
            $string.= '/' . $arr[$counter]; 
        } 
        $ex =  "<a href='http://".$string."'style='font-family: verdana; font-size: 12px; color: #006699; text-decoration: none;'>Terug naar de bovenliggende directory</a><br>"; 

    $mappen = @implode($scheiding, $mappen); 
    $mappen = ( $hier_level == 0 ) ? $dir_index : $dir_index .  $scheiding . '<br>'. $ex  . $mappen; 
    echo $mappen . "<br /><hr /><br />nn"; 
    unset($mappen); 
    $mappen = array(); 
    $files = array(); 
    $opendir = @opendir($dir . $map); 
    $map = (empty($map)) ? '': $map . '/'; 
    clearstatcache(); 
    while( false !== ( $item = readdir($opendir) )) 

        if($item != "." && $item !="iManager.html" && $item != "index.php") 
        { 
            if(is_dir($dir . $map . $item)) 
            { 
                $stat = stat($dir . $map . $item . "/"); 
                $mappen[] = array( 
                    $item, 
                '' . $map . '/' . $item, 
                    date($datumform, $stat[8]), 
                    date($datumform, $stat[10]) 
                ); 
            } 
            else 
            { 
                $stat = stat($dir . $map . $item); 
                $filesize = ($stat[7] > 1024) ? round($stat[7] / 1024, 3) . " Kb" : $stat[7] . " bytes"; 
                $files[] = array( 
                    $item, 
                    $dir . $map . '/' . $item, 
                    $filesize, 
                    date($datumform, $stat[8]), 
                    date($datumform, $stat[10]) 
                ); 
            } 
        } 

    echo " 
    <table cellspacing="5" cellpadding="0" style="width: 100%; font-size: 12px; font-family: verdana;"> 
    <tr> 
     <td style="width: 55%;">Bestand:</td> 
     <td style="width: 15%; text-align: right;">Groote:</td> 
     <td style="width: 15%; text-align: right;">Laatst geopend:</td> 
     <td style="width: 15%; text-align: right;">Laatst gewijzigd:</td> 
    </tr> 
    "; 

    while(list(, $item) = each($mappen)) 

        echo "  
    <tr> 
     <td style="width: 55%;"><a href="" . trans($_SERVER['SCRIPT_NAME']) . $item[1] . "" style="font-family: verdana; font-size: 12px; color: #006699; text-decoration: none;">" . $item[0] . "</a></td> 
     <td style="width: 15%; text-align: right;"> </td> 
     <td style="width: 15%; text-align: right;">" . $item[2] . "</td> 
     <td style="width: 15%; text-align: right;">" . $item[3] . "</td> 
    </tr> 
    "; 


    echo (count($mappen) == 0) ? "n<tr>n<td colspan="4">Geen mappen gevonden.</td>n</tr>n" : ""; 
    echo "n<tr>n<td colspan="4"><hr /></td>n</tr>n"; 

    while(list(, $item) = each($files)) 

        echo "  
    <tr> 
     <td style="width: 55%;"><a href="" . $item[1] . "" style="font-family: verdana; font-size: 12px; color: #006699; text-decoration: none;">" . $item[0] . "</a></td> 
     <td style="width: 15%; text-align: right;">" . $item[2] . "</td> 
     <td style="width: 15%; text-align: right;">" . $item[3] . "</td> 
     <td style="width: 15%; text-align: right;">" . $item[4] . "</td> 
    </tr> 
    "; 


    echo (count($files) == 0) ? "n<tr>n<td colspan="4">Geen bestanden gevonden..</td>n</tr>n" : ""; 
    echo "nn</body>n</html>nn"; 

    ?> 


    En natuurlijk kan je het zelf wel ff aanpassen zodat de eerste letter er goed uit ziet, zoals je zelf wil.
    O ja, ik heb de bestande iManager.html en index.php gehide, omdat ik die niet wil zien.
    Als je andere bestanden niet weer wilt geven kan dat in de regel:
    if($item != "." && $item !="iManager.html" && $item != "index.php")
    -- ViPeRII --
    pi_43962071
    quote:
    Op dinsdag 28 november 2006 15:01 schreef papernote het volgende:
    Welke foutmelding krijg je?
    Fatal error: Call to undefined function: expolde()
    quote:
    Op dinsdag 28 november 2006 15:01 schreef ViPeRII het volgende:
    Ik heb zoiets hier. Misschien dat je wat aan de code hebt.
    [ code verwijderd ]

    En natuurlijk kan je het zelf wel ff aanpassen zodat de eerste letter er goed uit ziet, zoals je zelf wil.
    O ja, ik heb de bestande iManager.html en index.php gehide, omdat ik die niet wil zien.
    Als je andere bestanden niet weer wilt geven kan dat in de regel:
    if($item != "." && $item !="iManager.html" && $item != "index.php")
    Ik zal eens ff bestuderen
    Zo geweldig php-en kan ik niet
    Iig bedankt.
      dinsdag 28 november 2006 @ 15:10:06 #16
    4159 GI
    Nee ik heet geen JOE
    pi_43962121
    quote:
    Op dinsdag 28 november 2006 15:08 schreef Qunix het volgende:

    [..]

    Fatal error: Call to undefined function: expolde()
    [..]

    Ik zal eens ff bestuderen
    Zo geweldig php-en kan ik niet
    Iig bedankt.
    expolde
      dinsdag 28 november 2006 @ 15:10:24 #17
    52200 ViPeRII
    It's a good day to die
    pi_43962137
    moet explode zijn niet expolde. Misschien dat het daar aan lag bij jezelf?
    -- ViPeRII --
    pi_43962161
    quote:
    Op dinsdag 28 november 2006 15:10 schreef GI het volgende:

    [..]

    expolde
    Vertel eens hoe het wel moet dan?
    pi_43962206
    OMG

    Ik had het wel goed dus...
    Ik zag hem niet


    Thanks.
      dinsdag 28 november 2006 @ 22:40:02 #20
    12880 CraZaay
    prettig gestoord
    pi_43977380
    quote:
    Op dinsdag 28 november 2006 15:12 schreef Qunix het volgende:
    Ik had het wel goed dus...
    Ik zag hem niet
    Error logging toch eens aanzetten?
      FOK!-Schrikkelbaas dinsdag 28 november 2006 @ 22:43:33 #21
    1972 Swetsenegger
    Egocentrische Narcist
    pi_43977507
    quote:
    Op dinsdag 28 november 2006 22:40 schreef CraZaay het volgende:

    [..]

    Error logging toch eens aanzetten?
    de foutmelding deed het prima hoor.
      woensdag 29 november 2006 @ 00:16:27 #22
    73232 De_Hertog
    Aut bibat, aut abeat
    pi_43979754
    Kun je op een of andere manier inlezen welke variabelen gepost worden? Dus niet wat de waarde is, maar welke je meekrijgt. Ik heb namelijk een tabel met resultaten die ik uit MySQL haal, en voor die tabel plaats ik een reeks checkboxen die ieder als naam het nummer van de betreffende regel hebben. Volgens deze site wordt alleen de waarde van gecheckte boxen meegegeven. Maar hoe kan ik uitlezen welke boxen gechekt zijn, dus: welk nummer gechekt is?
    Mary had a little lamb
    Then Mary had dessert
      woensdag 29 november 2006 @ 07:30:36 #23
    4159 GI
    Nee ik heet geen JOE
    pi_43982612
    print_r($_POST);
    De checkboxen die aanstaan zie je daar in terugkomen
    pi_43987539
    of print_r($_GET); als je een get-method gebruikt. En om ze beiden te pakken doe je print_r($_REQUEST);
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_43988571
    TVP, altijd fijn om mee te lezen
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_44012465
    quote:
    Op dinsdag 28 november 2006 09:50 schreef papernote het volgende:

    [..]

    Waarom heb je dag, maand, jaar én datum opgeslagen, als de laatste alles al bevat? Dat is niet echt handig, want je kan met PHP heel simpel de eerste 3 uit de laatste verkrijgen.

    Verder heb je waarschijnlijk de dag als een VARCHAR opgeslagen en niet als INT, waardoor de sortering fout gaat. Lexicografisch gezien komt 25 voor 5, terwijl numeriek dat andersom is.
    Nee, dag staat als INT. De query is nu als volgt:

    1$result=mysql_query("SELECT id,dag,artist,titel,label,MONTHNAME(datum) as maand,YEAR(datum) as jaar FROM albumreleases ORDER BY DATE(datum) DESC") or die(mysql_error());


    Maar als ik DESC in ASC verander, dan geldt dat ook voor de maand. Dus dan komt de laatste maand onderaan. En ik wil dat juist bovenaan.

    ----

    Stiekem tegelijk nog een vraagje. Ik heb een programma dat een output van een gehele playlist geeft in .txt-formaat. Een voorbeeld van de inhoud:

    1
    2
    3
    4
    Danity Kane - Show Stoppin (4:12)
    Danity Kane - Touching My Body (Remix) Ft. T (2:18)
    Danny Fernandes - Curious (Dj Rado Remix) (4:17)
    Darin - Move (3:42)


    Nu wil ik deze met een PHP script kunnen importeren in en MySQL database. Ik wil dat de artiest in 'artiest' komt, de titel in 'titel' en de tijd in 'tijd'. Ik weet niet of het moeilijk (EN MOGELIJK) is, maar aan de ene kant lijkt het me best te doen. Hoewel er niet gekeken kan worden op haakjes, voor de tijd, aangezien veel titels ook haakjes hebben, zoals (Remix). Hoe zou ik dit het beste kunnen doen en waar begin ik?

    Alvast bedankt voor de hulp de laatste tijd!

    [ Bericht 33% gewijzigd door RiderXXX op 30-11-2006 02:41:12 ]
    dit
    is
    mijn
    signature.
    pi_44043046
    quote:
    { "Africa/Kinshasa" , 0x0011F8 },
    { "Africa/Lagos" , 0x001230 },
    { "Africa/Libreville" , 0x001279 },
    { "Africa/Lome" , 0x0012C2 },
    { "Africa/Luanda" , 0x0012FA },
    { "Africa/Lubumbashi" , 0x001343 },
    Weet iemand wat '0x0011F8 ' is? Ik ben namelijk bezig met een lijst van tijdzones aan het maken. Maar in php 5.1 is dat niet mogelijk. Dit is overigens een stukje uit de source van php.
    ..///
    pi_44043106
    laat maar het is dus de offset waarde in hexadecimaal.
    ..///
    pi_44043306
    Weet iemand hoe ik de offset waarde moet berekenen?

    Bv: "Europe/Amsterdam" = 0x025ADC
    En 0x025ADC is dan 1393458
    Maar wat is 1393458
    ..///
    pi_44043398
    quote:
    Op vrijdag 1 december 2006 00:15 schreef wipes66 het volgende:
    Weet iemand hoe ik de offset waarde moet berekenen?

    Bv: "Europe/Amsterdam" = 0x025ADC
    En 0x025ADC is dan 1393458
    Maar wat is 1393458
    Ik gok dat je een signed integer als unsigned integer aan het bekijken bent

    [edit] hmm het komt uit de source van PHP,
    A.) de source-code (C)
    of;
    B.) PHP-code?

    In geval A ben ik hier redelijk zeker van.
    Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
    pi_44043604
    het komt uit de source-code (timezonedb.h). maar de vraag is, hoe maak ik er secondes van?
    ..///
    pi_44043772
    quote:
    Op vrijdag 1 december 2006 00:30 schreef wipes66 het volgende:
    het komt uit de source-code (timezonedb.h). maar de vraag is, hoe maak ik er secondes van?
    Ik denk niet dat je het op die manier kan/wil gebruiken zijn daar geen andere mogelijkheden voor?
    Dat lijkt me uitermate sterk.

    is dit niet iets wat je zou kunnen gebruiken:

    date_default_timezone_get
    Of de *_set
    Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
    pi_44044023
    wat ik zoek is timezone_identifiers_list, maar die is niet beschikbaar voor mij.
    ..///
      vrijdag 1 december 2006 @ 01:50:16 #34
    12880 CraZaay
    prettig gestoord
    pi_44044734
    quote:
    Op donderdag 30 november 2006 01:32 schreef RiderXXX het volgende:

    Nu wil ik deze met een PHP script kunnen importeren in en MySQL database. Ik wil dat de artiest in 'artiest' komt, de titel in 'titel' en de tijd in 'tijd'. Ik weet niet of het moeilijk (EN MOGELIJK) is, maar aan de ene kant lijkt het me best te doen. Hoewel er niet gekeken kan worden op haakjes, voor de tijd, aangezien veel titels ook haakjes hebben, zoals (Remix). Hoe zou ik dit het beste kunnen doen en waar begin ik?
    Ook al bevatten veel titels haakjes, je weet dat bij de laatste '(' de tijd begint. Een groter probleem is denk ik het koppelteken tussen artiest en titel, omdat er eventueel ook een artiest zou kunnen zijn met ' - ' in z'n naam ('Jay - Z' bijvoorbeeld, as je het met spaties ertussen schrijft).
    pi_44076030
    klein vraagje:

    ik weet niet of ik het hier goed plaats maar mijn vraag is:

    Ik wil (met php het liefst als het kan) de "De webpagina is verlopen" pagina vermijden. (IE vooral)

    Ik heb een zoekfunctie gemaakt om iets op te zoeken in php. Vanuit de zoekresultaten wordt er naar een andere pagina geklikt. Als ik nu terug wil gaan naar de zoekresultaten (knop terug) of een link (javascript: history.go(-1)) dan krijg ik dus die verlopen pagina.

    Maar het liefst zou ik dus gelijk die pagina opnieuw laden (POST gegevens opnieuw versturen) zonder interactie met de gebruiker.

    Is dit mogelijk?
    It's time to kick ass and chew bubble gum... and I'm all out of bubble gum
      FOK!-Schrikkelbaas zaterdag 2 december 2006 @ 13:13:47 #36
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44077419
    je zou misshcien wat met een sessie kunnen doen
    pi_44078073
    Kan je dan niet beter een GET request gebruiken?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas zaterdag 2 december 2006 @ 13:45:44 #38
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44078089
    quote:
    Op zaterdag 2 december 2006 13:44 schreef SuperRembo het volgende:
    Kan je dan niet beter een GET request gebruiken?
    Dan heb je geen last van vedrlopen POSTs inderdaad
      zondag 3 december 2006 @ 11:07:20 #39
    85514 ralfie
    !Yvan eht nioj
    pi_44098017
    Ik heb hier iets waar ik even niet uitkom, en hoop dat iemand my hierbij kan helpen.

    Ben bezig met een systeem waar gebruikers (hier alleen met een id) films kunnen waarderen. Iedere gebruiker kan de film 1-5 sterren geven (en maar éénmalig per film stemmen).

    Ik heb de volgende tabellen:

    De tabel 'films' houdt bij welke film hoevel waarderingen heeft gehad, en welke totale waardering heeft
    De tabel 'voters' houdt bij wie (gebruikers-id) welke fim gewaardeerd heeft. In het bovenstaande plaatje hebben dus 3 verschillende users 2 films gewaardeerd.

    Nu wil ik graag met 1 query erachter komen, van een rits films, wat hun waardering is, dit doe ik dmv:
    1
    2
    3
    <?php
    $query
    ="SELECT film_id, film_name, avg_vote FROM films ORDER BY avg_vote LIMIT BY $start, $stop"
    ?>


    Nu zou ik graag in dezelfde query willen bepalen welke films een bepaalde gebruiker wel of niet al gewaardeerd heeft, iets uitvoeren in de trand van

    als er een rij bestaat waar voter=$gebruikers_id AND film_id=$film_id return TRUE; (gebruiker heeft al gestemd op deze film). Ik had gedacht aan iets van

    1
    2
    3
    4
    5
    6
    <?php
    $query
    ="SELECT film_id, film_name, avg_vote FROM films ORDER BY avg_vote LIMIT BY $start,$stop";
    //en dan voor elke gevonden film_id ($film_id)
    $query="SELECT * FROM voters WHERE film_id=$film_id AND voter=$userid";
    //als hier een row gevonden wordt heeft de $userid deze film al gewaardeerd
    ?>

    Maar dan in liefst 1 query (en niet in 21 als de eerste query 20 films vind). Ik kan natuurlijk ook een query maken waarbij ik bepaal welke films de huidige gebruiker al heeft gewaardeerd en deze vergelijken met de gevonden films van de eerste query, maar dat lijkt me nog erg omslachtig.

    Iemand een idee? Of kan ik beter een heel ander systeem gebruiken?
    pi_44098193
    Je kan met deze query de voters ophalen:

    SELECT * FROM voters WHERE film_id=$film_id

    En dan vervolgens voor alle $userid kijken of er een rij met dat ID in het resultaat zit. Dat doe je dan in PHP.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_44098317
    Ten eerste zou ik me afvragen of je num_votes en avg_vote wel op zou nemen in je film-tabel.. Die gegevens zijn ook makkelijk te berekenen als je ze nodig hebt en de kans op inconsistentie is zo aardig groot..
    Je eigenlijke vraag..
    SELECT film_id, film_name, avg_vote FROM films WHERE film_id IN (SELECT film_id FROM voters WHERE voter='gebruikersid')

    met IN maak je een subquery. Oftewel, je wilt dat de teruggegeven film_id's voorkomen in het resultaat van de query tussen de haken.

    SELECT film_id, film_name, avg_vote FROM films JOIN voters ON voters.film_id = films.film_id WHERE voters.voter = 'gebruikers-id'

    Ook zo krijg je alleen films van een bepaalde gebruiker terug, maar dan door middel van een join. Welke manier je gebruikt maakt opzich niet zoveel uit, maar een join vind ik wat eleganter.
    Is dit wat je bedoelde?
    pi_44098477
    Je gebruikt een outer join om te kijken of er een bijbehorende regel in de tabel voters bestaat. Als voters.film_id NULL is, dan bestaat die regel niet en heeft de gebruiker dus nog niet gestemd.

    1
    2
    3
    4
    5
    6
    SELECT f.film_id, f.film_name, f.avg_vote, 
       CASE WHEN v.film_id IS NULL THEN 0 ELSE 1 END voted 
    FROM films f
    LEFT OUTER JOIN voters v ON v.film_id = f.film_id AND v.voter = $userid
    ORDER BY avg_vote 
    LIMIT BY $start, $stop


    Het kan ook met een subquery als je systeem dat ondersteunt. Ik weet alleen hoe het met de snelheid van zo'n query zit met MySQL (in vergelijking tot de versie met outer join).
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT f.film_id, f.film_name, f.avg_vote, 
       CASE WHEN EXISTS (
             SELECT * 
             FROM voters v 
             WHERE v.film_id = f.film_id AND v.voter = $userid
          ) THEN 1 ELSE 0 END voted
    FROM films f
    ORDER BY avg_vote 
    LIMIT BY $start, $stop
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      zondag 3 december 2006 @ 11:49:45 #43
    85514 ralfie
    !Yvan eht nioj
    pi_44098747
    @SuperRembo: Ik heb beide methoden getest en bij mij is de tweede methode het snelste (niet gestest met grote tabellen, maar toch). Aangezien ik deze ook beter snap ga ik voorlopig voor de tweede methode.

    Bedankt voor de suggesties allemaal
    pi_44111545
    quote:
    Op zaterdag 2 december 2006 12:13 schreef Xtr3mE het volgende:
    klein vraagje:

    ik weet niet of ik het hier goed plaats maar mijn vraag is:

    Ik wil (met php het liefst als het kan) de "De webpagina is verlopen" pagina vermijden. (IE vooral)

    Ik heb een zoekfunctie gemaakt om iets op te zoeken in php. Vanuit de zoekresultaten wordt er naar een andere pagina geklikt. Als ik nu terug wil gaan naar de zoekresultaten (knop terug) of een link (javascript: history.go(-1)) dan krijg ik dus die verlopen pagina.

    Maar het liefst zou ik dus gelijk die pagina opnieuw laden (POST gegevens opnieuw versturen) zonder interactie met de gebruiker.

    Is dit mogelijk?
    Sessies lijkt me veiliger dan GET gebruiken zoals al gezegd was . GET kan gemanipuleerd worden en voor SQL-injection zorgen, sessies niet . Het is wat meer werk maar 10X zo veilig.
    pi_44112167
    quote:
    Op zondag 3 december 2006 19:42 schreef fate het volgende:

    [..]

    Sessies lijkt me veiliger dan GET gebruiken zoals al gezegd was . GET kan gemanipuleerd worden en voor SQL-injection zorgen, sessies niet . Het is wat meer werk maar 10X zo veilig.
    Je moet je gegevens toch posten of je dat met GET of POST doet boeit niet...
    Dus wat mij betreft is dat onzin.

    (Al zou ik ook voor de sessies gaan hoor daar niet van...
    Dit met de reden dat je hier meer controle over hebt dan over wat je in GET krijgt gedurende de gebruiker zijn sessie op je site. )
    Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
    pi_44112315
    quote:
    Op zondag 3 december 2006 20:07 schreef Cageon het volgende:

    [..]

    Je moet je gegevens toch posten of je dat met GET of POST doet boeit niet...
    Dus wat mij betreft is dat onzin.

    (Al zou ik ook voor de sessies gaan hoor daar niet van...
    Dit met de reden dat je hier meer controle over hebt dan over wat je in GET krijgt gedurende de gebruiker zijn sessie op je site. )
    Je gegevens moet je posten, maar dat doe je best met POST en niet met GET zoals je wel weet . Maar als je met POST werkt, zal history(-1) niet meer lukken dus moet je wel sessies gebruiken.
    pi_44112479
    quote:
    Op zondag 3 december 2006 20:12 schreef fate het volgende:

    [..]

    Je gegevens moet je posten, maar dat doe je best met POST en niet met GET zoals je wel weet . Maar als je met POST werkt, zal history(-1) niet meer lukken dus moet je wel sessies gebruiken.
    Een zoekform kan toch prima met een GET? Je hebt namelijk een beperkt aantal parameters die prima in de url kunnen worden megegeven. Niet voor niet dat google en de zoekfunctie van FOK zo werkt.
    Als je een POST gebruikt, dan krijg je altijd een page expired als je op back drukt. Of je nou een sessie gebruikt of niet.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_44112548
    quote:
    Op zondag 3 december 2006 20:12 schreef fate het volgende:

    [..]

    Je gegevens moet je posten, maar dat doe je best met POST en niet met GET zoals je wel weet . Maar als je met POST werkt, zal history(-1) niet meer lukken dus moet je wel sessies gebruiken.
    Je kan je gegevens ook posten met de method GET. Dan heb je dat probleem niet, zoals al eerder gemeld.
    Mijn punt was dat wat jij meld eigenlijk no issue is. Mja je hoeft minder vaak te controleren of je data wel/niet valide is.
    Buiten dat is het niet bepaald insecure.
    Aangezien je toch data kan versturen in je formulier.
    Motorrijden is beter dan sex.Elke bocht een nieuw hoogtepunt.
    pi_44126300
    Ik wil het volgende even weten.

    Voor iemand moet ik een bestand hosten en deze wil hij laten downloaden door een stuk of wat gebruikers. Echter heb ik geen zin om het bestand door duizenden te laten downloaden en wil dat voorkomen door bv het IP adres van de gebruiker alleen toe te staan.

    Nu is dit gemakkelijk in een script te bouwen maar een script runt eingelijk max 30 seconden en wil ik dus iets bedenken waardoor iedereen met een juist IP adres het bestand kan downloaden.

    bv. httaccess.. maar daar heb ik geen kaas van gegeten.

    Hebben jullie een idee hoe ik dit probleem kan oplossen? een wachtwoord werkt niet want die kan men doorgeven...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas maandag 4 december 2006 @ 13:22:08 #50
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44129686
    quote:
    Op maandag 4 december 2006 11:20 schreef Chandler het volgende:
    Ik wil het volgende even weten.

    Voor iemand moet ik een bestand hosten en deze wil hij laten downloaden door een stuk of wat gebruikers. Echter heb ik geen zin om het bestand door duizenden te laten downloaden en wil dat voorkomen door bv het IP adres van de gebruiker alleen toe te staan.

    Nu is dit gemakkelijk in een script te bouwen maar een script runt eingelijk max 30 seconden en wil ik dus iets bedenken waardoor iedereen met een juist IP adres het bestand kan downloaden.

    bv. httaccess.. maar daar heb ik geen kaas van gegeten.

    Hebben jullie een idee hoe ik dit probleem kan oplossen? een wachtwoord werkt niet want die kan men doorgeven...
    gewoon IP info uit de http header halen?
    Niet waterdicht, maar afdoende voor 99%
    pi_44131006
    Doe eens een voorbeeld van wat je bedoeld? want als het dmv php gaat moet ik het script openen zolang het downloaden nog niet voltooid is...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas maandag 4 december 2006 @ 14:23:09 #52
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44131447
    quote:
    Op maandag 4 december 2006 14:06 schreef Chandler het volgende:
    Doe eens een voorbeeld van wat je bedoeld? want als het dmv php gaat moet ik het script openen zolang het downloaden nog niet voltooid is...
    Waarom?
    Je geeft de link download.php waarop je controleert of het IP geldig is, zoja -> downloaden (header), zo nee -> die
    pi_44137442
    sorry

    maaruh ik doel meer op het idee dat die header ook af te vangen is en dat je dan ook achter het bestand zelf kan komen...

    oid... toch? dat wil ik tegengaan
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas maandag 4 december 2006 @ 17:14:53 #54
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44137623
    quote:
    Op maandag 4 december 2006 17:09 schreef Chandler het volgende:
    sorry

    maaruh ik doel meer op het idee dat die header ook af te vangen is en dat je dan ook achter het bestand zelf kan komen...

    oid... toch? dat wil ik tegengaan
    Dan zet je hem als BLOB in een database tabel
    Dat doe ik hier bijvoorbeeld.
    Links bij downloads
    pi_44138172
    quote:
    Op maandag 4 december 2006 11:20 schreef Chandler het volgende:
    bv. httaccess.. maar daar heb ik geen kaas van gegeten.
    htaccess is hier ideaal voor. Met een tooltje maak je ff een .htaccess en .htpasswd file, die zet je in de dir en je bent klaar.
    Er zijn zat tooltjes voor: Google zoeken naar 'htaccess generator', maar moeilijk is het ook niet als je duidelijke uitleg hebt.

    [ Bericht 14% gewijzigd door SuperRembo op 04-12-2006 17:53:30 ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      maandag 4 december 2006 @ 18:22:12 #56
    12880 CraZaay
    prettig gestoord
    pi_44139855
    quote:
    Op maandag 4 december 2006 17:09 schreef Chandler het volgende:
    sorry

    maaruh ik doel meer op het idee dat die header ook af te vangen is en dat je dan ook achter het bestand zelf kan komen...

    oid... toch? dat wil ik tegengaan
    Je bestand in de database opnemen vind ik in veel gevallen redelijk ranzig, maar je kan je bestanden bijvoorbeeld wel prima buiten je publieke pad plaatsen en via download.php het bestand 'doorsturen'.
    pi_44142385
    -edit-

    probleem oplost door kleinere bestanden

    [ Bericht 96% gewijzigd door Chandler op 04-12-2006 22:51:42 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_44171444
    Met dit script wordt alleen het bericht zelf verzonden.
    Hoe krijg ik het voor elkaar om bijv. totel en link ook te versturen?

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <?php
        
    // VALUES FROM THE FORM
        
    $name        $_POST['name'];
        
    $email        $_POST['email'];
        
    $url        $_POST['url'];
        
    $titel        $_POST['titel'];
        
    $link        $_POST['link'];
        
    $message    $_POST['msg'];

        
    // ERROR & SECURITY CHECKS
        
    if ( ( !$email ) ||
             ( 
    strlen($_POST['email']) > 200 ) ||
             ( !
    preg_match("#^[A-Za-z0-9](([_.-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([.-]?[a-zA-Z0-9]+)*).([A-Za-z]{2,})$#"$email) )
           ) 
        { 
            print 
    "Error: Invalid E-Mail Address"
            exit; 
        } 
        if ( ( !
    $name ) ||
             ( 
    strlen($name) > 100 ) ||
             ( 
    preg_match("/[:=@<>]/"$name) ) 
           )
        { 
            print 
    "Error: Invalid Name"
            exit; 
        } 
        if ( 
    preg_match("#cc:#i"$message$matches) )
        { 
            print 
    "Error: Found Invalid Header Field"
            exit; 
        } 
        if ( !
    $message )
        {
            print 
    "Error: No Message"
            exit; 
        } 
        if (
    eregi("r",$email) || eregi("n",$email)){ 
            print 
    "Error: Invalid E-Mail Address"
            exit; 
        } 
        if (
    FALSE) { 
            print 
    "Error: You cannot send to an email address on the same domain."
            exit; 
        } 
        if ( !
    $titel )
        {
            print 
    "Error: No Titel"
            exit; 
        } 
        if (
    eregi("r",$email) || eregi("n",$email)){ 
            print 
    "Error: Invalid E-Mail Address"
            exit; 
        } 
        if (
    FALSE) { 
            print 
    "Error: You cannot send to an email address on the same domain."
            exit; 
        } 
        


        
    // CREATE THE EMAIL
        
    $headers    "Content-Type: text/plain; charset=iso-8859-1n";
        
    $headers    .= "From: $name <$email>n";
        
    $recipient    "mail@mail.nl";
        
    $subject    "Suggestie";
        
    $message    wordwrap($message1024);
        

        
        
    // SEND THE EMAIL TO YOU
        
    mail($recipient$subject$message$headers);

        
    // REDIRECT TO THE THANKS PAGE
        
    header("location: http://www.site.eu");
    ?>
    pi_44172053
    Door de variabele $titel bijvoorbeeld op te nemen in het subject of de message.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_44176431
    moet zeggen dat ik het script nogal vaag vind maar goed....
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_44184868
    quote:
    Op dinsdag 5 december 2006 21:42 schreef Chandler het volgende:
    moet zeggen dat ik het script nogal vaag vind maar goed....
    Waarschijnlijk ook omdat FOK! alle \ weglaat en iets als dit:

    1
    2
    3
    <?php
    if (eregi("r",$email) || eregi("n",$email))
    ?>


    dus nergens meer op slaat.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_44184992
    Niet alleen dat, maar ook dat er maar automatisch vanuit gegaan wordt dat variabelen bestaan...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_44195128
    quote:
    Op woensdag 6 december 2006 09:17 schreef Chandler het volgende:
    Niet alleen dat, maar ook dat er maar automatisch vanuit gegaan wordt dat variabelen bestaan...
    die variabelen bestaan ook
    pi_44195249
    Ok, het is allemaal gelukt.


    1
    2
    3
    4
    5
    6
    <?php
    $message    
    =  "Titel: ".$_POST['titel']."n n";
    $message    .= "Website: ".$_POST['url']."n n";
    $message    .= "Gelinkt op: ".$_POST['link']."n n";
    $message    .= "Bericht: ".$_POST['msg']."n n";
    ?>


    Maar hoe krijg ik nu de titel vetgedrukt?
    <b></b> dat werkt niet, want dat zie je dan in de mail staan

    [ Bericht 53% gewijzigd door Goldfish80 op 06-12-2006 16:30:40 ]
    pi_44197118
    Als je opmaak wilt, dan moet je de mail als HTML verzenden. Dat gaat niet zomaar.

    Wellicht is het een goed idee als je de klasse PHPMailer gaat gebruiken. Die vereenvoudigd allerlei zaken.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_44199564
    Ok bedankt!
      FOK!-Schrikkelbaas woensdag 6 december 2006 @ 18:13:54 #67
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44200003
    quote:
    Op woensdag 6 december 2006 15:48 schreef Goldfish80 het volgende:
    Ok, het is allemaal gelukt.
    [ code verwijderd ]

    Maar hoe krijg ik nu de titel vetgedrukt?
    <b></b> dat werkt niet, want dat zie je dan in de mail staan
    1
    2
    3
    4
    <?php
    $headers  
    = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
    ?>
    pi_44212269
    Even een TVP. Zijn er hier eigenlijk users die hun PHP-scripts verder hebben gebracht dan het conventionele "webserver requests afhandelen" en gebruik maken van bijvoorbeeld PHP-GTK, forking, w32api, etc?
      FOK!-Schrikkelbaas donderdag 7 december 2006 @ 07:44:59 #69
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44214256
    quote:
    Op donderdag 7 december 2006 00:46 schreef JeRa het volgende:
    Even een TVP. Zijn er hier eigenlijk users die hun PHP-scripts verder hebben gebracht dan het conventionele "webserver requests afhandelen" en gebruik maken van bijvoorbeeld PHP-GTK, forking, w32api, etc?
    Nee, ik heb nog steeds het plan om daar eens mee te gaan stoeien, maar het is er nog niet van gekomen.
    En ik vraag me dan af wanneer ik wil gaan compilen of ik dan niet beter mezelf kan verdiepen in C# ofzo
      FOK!-Schrikkelbaas donderdag 7 december 2006 @ 07:53:30 #70
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44214299
    volgens mij bedoel je wat anders
    pi_44226396
    quote:
    Op donderdag 7 december 2006 07:44 schreef Swetsenegger het volgende:

    [..]

    Nee, ik heb nog steeds het plan om daar eens mee te gaan stoeien, maar het is er nog niet van gekomen.
    En ik vraag me dan af wanneer ik wil gaan compilen of ik dan niet beter mezelf kan verdiepen in C# ofzo
    Klopt alhoewel tegenwoordig het verschil in snelheid tussen PHP en gecompileerde (tussen)talen als C/C++ en Java helemaal niet zo groot is en het voordeel dat je scripts snel kunt aanpassen mij erg aanspreekt. Ik ben op het moment bezig om een daemon te schrijven in PHP die luistert naar een socket, verbindingen accepteert en zichzelf forkt om de verbinding af te handelen. Maar PHP is bijvoorbeeld ook handig i.c.m. bepaalde libraries om plaatjes of PDFjes te laten genereren. Mijn backupsysteem draait er ook op, bijvoorbeeld.

    Mogelijkheden zat, en sinds PHP-GTK bestaat is het ook nog eens mogelijk om een grafische interface aan te bieden. Maar op dit gebied zie ik weinig bekende applicaties verschijnen?
    pi_44262686
    Beste fokkers, ik heb thuis een servertje draaien, waarop ik een webpagina draai voor privé doeleinden. Deze webpagina heb ik met de volgende .htaccess afgeschermd:

    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
    order deny,allow

    AuthName "You are not authorized to view this page"
    AuthType Basic
    authUserFile /opt/share/www/mapnaam/.htpasswd
    Require valid-user

    allow from 192.168.1
    allow from 62.195.181.---
    allow from 81.205.246.---
    allow from 84.81.185.---
    allow from 84.27.68.---
    allow from 82.197.205.---
    allow from 212.61.84.---
    allow from 213.93.249.---
    allow from 62.195.200.---
    allow from 81.71.232.---
    allow from 62.195.19.---
    allow from 84.27.93.---
    allow from 82.73.139.---
    allow from 82.173.98.---
    allow from 82.157.7.---
    deny from all

    satisfy any


    Deze .htaccess zorgt ervoor dat alleen toegang wordt verleend aan de mensen met het ip adres wat in de .htaccess file staat. Mensen die niet in de lijst staan krijgen een login scherm te zien.

    Nu wil ik graag het volgende in mijn web pagina integreren, wanneer bijv. Kees met ip adres 62.195.19.--- op de website komt, wil ik graag dat er komt te staan 'Hallo Kees welkom op de website' Wie kan mij uitleggen hoe ik zoiets in elkaar zet, waarschijnlijk moet ik de ipadressen in een Mysql database integreren ?
    &lt;b&gt;&lt;a href="http://www.123caravanhuren.nl" rel="nofollow" target="_blank"&gt;123caravanhuren.nl&lt;/a&gt;&lt;/b&gt;
    pi_44263143
    Als het gaat om een beperkt aantal gebruikers met die 15 ip-adressen die je hebt opgegeven, moet je niet per sé met een database werken. Dan kan je ook in je php script zelf de 15 ip-adressen koppelen aan een naam via een array.
    Als er steeds meer ip's komen, dan kan je inderdaad best met een database werken waarin je een kolom ip en een kolom naam hebt. Als de gebruiker dan op de site komt kan je in de database de record (en de naam) selecteren van de gebruiker.
      FOK!-Schrikkelbaas vrijdag 8 december 2006 @ 21:41:02 #74
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44263184
    quote:
    Op donderdag 7 december 2006 16:21 schreef JeRa het volgende:

    [..]

    Klopt alhoewel tegenwoordig het verschil in snelheid tussen PHP en gecompileerde (tussen)talen als C/C++ en Java helemaal niet zo groot is en het voordeel dat je scripts snel kunt aanpassen mij erg aanspreekt. Ik ben op het moment bezig om een daemon te schrijven in PHP die luistert naar een socket, verbindingen accepteert en zichzelf forkt om de verbinding af te handelen. Maar PHP is bijvoorbeeld ook handig i.c.m. bepaalde libraries om plaatjes of PDFjes te laten genereren. Mijn backupsysteem draait er ook op, bijvoorbeeld.

    Mogelijkheden zat, en sinds PHP-GTK bestaat is het ook nog eens mogelijk om een grafische interface aan te bieden. Maar op dit gebied zie ik weinig bekende applicaties verschijnen?
    Hmz, ik ben wel erg geinteresseerd moet ik je zeggen. Ik ga het eens installeren
    Maar dan moet er ook iets inzitten om events af te handelen.
    pi_44265249
    quote:
    Op vrijdag 8 december 2006 21:39 schreef fate het volgende:
    Als het gaat om een beperkt aantal gebruikers met die 15 ip-adressen die je hebt opgegeven, moet je niet per sé met een database werken. Dan kan je ook in je php script zelf de 15 ip-adressen koppelen aan een naam via een array.
    Als er steeds meer ip's komen, dan kan je inderdaad best met een database werken waarin je een kolom ip en een kolom naam hebt. Als de gebruiker dan op de site komt kan je in de database de record (en de naam) selecteren van de gebruiker.
    Oké, zou je hier misschien een voorbeeld van kunnen geven ? ik heb hier namelijk zeer weinig kaas van gegeten
    &lt;b&gt;&lt;a href="http://www.123caravanhuren.nl" rel="nofollow" target="_blank"&gt;123caravanhuren.nl&lt;/a&gt;&lt;/b&gt;
      FOK!-Schrikkelbaas vrijdag 8 december 2006 @ 22:54:51 #76
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44265346
    quote:
    Op vrijdag 8 december 2006 22:51 schreef mvc het volgende:

    [..]

    Oké, zou je hier misschien een voorbeeld van kunnen geven ? ik heb hier namelijk zeer weinig kaas van gegeten :)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    if ($_SERVER['REQUEST_METHOD']=='POST'){

      
    $password=md5($_POST['password']);
      
    $query='SELECT * FROM user WHERE username="'.$_POST['username'].'" && pass="'.$password.'"';
      
    $result=mysql_query($query);
      
    $row=mysql_fetch_assoc($result);

      if(
    mysql_num_rows($result) != 0){
        
    session_start();
        
    $_SESSION['admin_IP']=$_SERVER["REMOTE_ADDR"];
        
    $_SESSION['admin_login']='ok';
        
    header("Location: ingelogged.php");

      }else{
        
    header("Location: fout.php");
      }
    }
    ?>
    pi_44275639
    Swetsenegger bedannkt voor je reactie, ik heb je even een PM gestuurd i.v.m. de integratie van dit script.
    &lt;b&gt;&lt;a href="http://www.123caravanhuren.nl" rel="nofollow" target="_blank"&gt;123caravanhuren.nl&lt;/a&gt;&lt;/b&gt;
      zaterdag 9 december 2006 @ 17:50:56 #78
    62215 qu63
    ..de tijd drinkt..
    pi_44279827
    iemand enig idee hoe ik dmv php de juiste taal voor mn website kan pakken? (NL/FR/EN)
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44280252
    quote:
    Op zaterdag 9 december 2006 17:50 schreef qu63 het volgende:
    iemand enig idee hoe ik dmv php de juiste taal voor mn website kan pakken? (NL/FR/EN)
    Je zou kunnen kijken naar de Accept-* headers die veel browsers naar de webserver sturen
      zaterdag 9 december 2006 @ 18:13:48 #80
    62215 qu63
    ..de tijd drinkt..
    pi_44280450
    quote:
    Op zaterdag 9 december 2006 18:06 schreef JeRa het volgende:

    [..]

    Je zou kunnen kijken naar de Accept-* headers die veel browsers naar de webserver sturen :)
    die?
    1
    2
    3
    <?php
    echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    ?>


    output:
    1nl,en-us;q=0.7,en;q=0.31165705200
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44280801
    quote:
    Op zaterdag 9 december 2006 18:13 schreef qu63 het volgende:

    [..]

    die?
    [ code verwijderd ]

    output:
    [ code verwijderd ]
    Juist. Je moet dan alleen nog even goed voor ogen hebben hoe je de gebruiker een taal voorschotelt. Bijvoorbeeld zo:
    1) Als de gebruiker een taal zelf heeft gekozen (bv. opgeslagen in cookie) dan wordt die taal gebruikt
    2) Als er nl, fr of en (in die volgorde) in de Accept-Language-header voorkomt, dan wordt die taal gebruikt
    3) De standaard taal (Engels?) wordt gebruikt
      zaterdag 9 december 2006 @ 18:52:19 #82
    62215 qu63
    ..de tijd drinkt..
    pi_44281474
    quote:
    Op zaterdag 9 december 2006 18:26 schreef JeRa het volgende:

    [..]

    Juist. Je moet dan alleen nog even goed voor ogen hebben hoe je de gebruiker een taal voorschotelt. Bijvoorbeeld zo:
    1) Als de gebruiker een taal zelf heeft gekozen (bv. opgeslagen in cookie) dan wordt die taal gebruikt
    2) Als er nl, fr of en (in die volgorde) in de Accept-Language-header voorkomt, dan wordt die taal gebruikt
    3) De standaard taal (Engels?) wordt gebruikt
    Standaard taal is Engels, als de gebruiker Nederlands of Frans ingesteld heeft wordt het die taal, anders Engels.

    En dan nog wel 3 knopjes om de taal handmatig te wijzigen, en dat op te slaan in een cookie.

    Of kan ik dan beter via JavaScript de taal detecteren en opslaan
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44281572
    quote:
    Op zaterdag 9 december 2006 18:52 schreef qu63 het volgende:

    [..]

    Of kan ik dan beter via JavaScript de taal detecteren en opslaan
    Zou ik niet doen, de volgorde van detecteren zoals ik die aangaf zal denk ik wel voldoen aan je wensen. In PHP dus.
      zaterdag 9 december 2006 @ 18:59:42 #84
    62215 qu63
    ..de tijd drinkt..
    pi_44281703
    quote:
    Op zaterdag 9 december 2006 18:55 schreef JeRa het volgende:

    [..]

    Zou ik niet doen, de volgorde van detecteren zoals ik die aangaf zal denk ik wel voldoen aan je wensen. In PHP dus.
    gaan we daar iets leuks op verzinnen
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zaterdag 9 december 2006 @ 19:02:50 #85
    62215 qu63
    ..de tijd drinkt..
    pi_44281804
    quote:
    Op zaterdag 9 december 2006 18:59 schreef qu63 het volgende:

    [..]

    gaan we daar iets leuks op verzinnen
    hoe kan ik die Accept_Language-string nou makkelijk strippen en alleen de nodige info uit halen
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44282482
    quote:
    Op zaterdag 9 december 2006 19:02 schreef qu63 het volgende:

    [..]

    hoe kan ik die Accept_Language-string nou makkelijk strippen en alleen de nodige info uit halen :?
    Eerste tip:
    1$parts = explode(';', $_SERVER['HTTP_ACCEPT_LANGUAGE']);

    De tweede tip mag je zelf verzinnen ;)
      zaterdag 9 december 2006 @ 19:37:46 #87
    62215 qu63
    ..de tijd drinkt..
    pi_44282645
    quote:
    Op zaterdag 9 december 2006 19:30 schreef JeRa het volgende:

    [..]

    Eerste tip:

    [ code verwijderd ]
    De tweede tip mag je zelf verzinnen ;)
    ik had deze al:
    1
    2
    3
    $al = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    preg_match_all('/^([a-zA-Z]{2})/', $al, $matches);
    echo $matches[0][0];
    :')
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zaterdag 9 december 2006 @ 19:42:46 #88
    62215 qu63
    ..de tijd drinkt..
    pi_44282798
    quote:
    Op zaterdag 9 december 2006 19:30 schreef JeRa het volgende:

    [..]

    Eerste tip:

    [ code verwijderd ]
    De tweede tip mag je zelf verzinnen
    explode op ";" zal ook niet gaan, want dan krijg ik "nl,en-us" terug ipv "nl"
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44283328
    quote:
    Op zaterdag 9 december 2006 19:42 schreef qu63 het volgende:

    [..]

    explode op ";" zal ook niet gaan, want dan krijg ik "nl,en-us" terug ipv "nl"
    quote:
    For example,

    Accept-Language: da, en-gb;q=0.8, en;q=0.7

    would mean: "I prefer Danish, but will accept British English and other types of English."
    Bron: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

    Oftewel, voor stap 2 van mijn plan zou je die string kunnen splitten op een komma, en vervolgens alle elementen aflopen en het eerste dat je kunt serveren gaat gebruiken als taal
      zaterdag 9 december 2006 @ 20:06:20 #90
    62215 qu63
    ..de tijd drinkt..
    pi_44283552
    quote:
    Op zaterdag 9 december 2006 19:59 schreef JeRa het volgende:

    [..]


    [..]

    Bron: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

    Oftewel, voor stap 2 van mijn plan zou je die string kunnen splitten op een komma, en vervolgens alle elementen aflopen en het eerste dat je kunt serveren gaat gebruiken als taal :)
    ik heb er nu dit van gemaakt:
    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
    <?php
    if
    (isset(
    $_COOKIE["lang"]))
    {
    $lang = $_COOKIE["lang"];
    }
    else
    {
    preg_match_all('/^([a-zA-Z]{2})/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
    switch (
    $matches[0][0]) {
       case
    nl:
           
    $lang = nl;
           
    setcookie('lang', $lang, mktime(0,0,0,1,1,2008));
           break;
       case
    en:
           
    $lang = en;
           
    setcookie('lang', $lang, mktime(0,0,0,1,1,2008));
           break;
       case
    fr:
           
    $lang = fr;
           
    setcookie('lang', $lang, mktime(0,0,0,1,1,2008));
           break;
       default:
           
    $lang = en;
           
    setcookie('lang', $lang, mktime(0,0,0,1,1,2008));
           break;
    }
    };
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      Admin zaterdag 9 december 2006 @ 20:08:10 #91
    725 crew  Breuls
    Bad Wolf
    pi_44283610
    Centraliseer je setcookie() nog even, dat scheelt code.
    I am a leaf on the wind.
    Watch how I soar.
    pi_44283632
    quote:
    Op zaterdag 9 december 2006 20:06 schreef qu63 het volgende:

    [..]

    ik heb er nu dit van gemaakt:
    [ code verwijderd ]
    Wat nou als de eerste opgegeven taal niet op jouw site kan worden weergegeven, maar de tweede of derde wél?

    edit: voorbeeldje

    1
    2
    3
    4
    5
    6
    7
    $parts = explode(';', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
    $languages = explode(',', $parts[0]);

    foreach ($languages as $lang)
    {
        // Loop over talen totdat je iets kunt gebruiken
    }
      zaterdag 9 december 2006 @ 20:10:02 #93
    62215 qu63
    ..de tijd drinkt..
    pi_44283684
    quote:
    Op zaterdag 9 december 2006 20:08 schreef Breuls het volgende:
    Centraliseer je setcookie() nog even, dat scheelt code.
    ik laat het nu nog even zo staan, eerst moet het werken, daarna pas finetunen

    anders snap ik er straks zelf geen hout van
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zaterdag 9 december 2006 @ 20:10:35 #94
    62215 qu63
    ..de tijd drinkt..
    pi_44283706
    quote:
    Op zaterdag 9 december 2006 20:08 schreef JeRa het volgende:

    [..]

    Wat nou als de eerste opgegeven taal niet op jouw site kan worden weergegeven, maar de tweede of derde wél?


    dan hebben ze pech
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44283752
    quote:
    Op zaterdag 9 december 2006 20:10 schreef qu63 het volgende:

    [..]



    dan hebben ze pech
    Zie mijn edit voor een simpel stukje code waarmee je het (bijna) altijd goed kunt aanpakken
      zaterdag 9 december 2006 @ 20:18:59 #96
    62215 qu63
    ..de tijd drinkt..
    pi_44283996
    quote:
    Op zaterdag 9 december 2006 20:11 schreef JeRa het volgende:

    [..]

    Zie mijn edit voor een simpel stukje code waarmee je het (bijna) altijd goed kunt aanpakken
    daar was ik al mee bezig ja

    maar dan vind ie dus "nl" maar ook "en"

    dan een prio-lijstje ofzo
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44284064
    quote:
    Op zaterdag 9 december 2006 20:18 schreef qu63 het volgende:

    [..]

    daar was ik al mee bezig ja

    maar dan vind ie dus "nl" maar ook "en"

    dan een prio-lijstje ofzo
    Kijk eens goed naar de quote die ik aanhaal in deze post
      zaterdag 9 december 2006 @ 21:01:59 #98
    62215 qu63
    ..de tijd drinkt..
    pi_44285604
    quote:
    Op zaterdag 9 december 2006 20:21 schreef JeRa het volgende:

    [..]

    Kijk eens goed naar de quote die ik aanhaal in deze post
    foreach ($languages as $lang)
    {
    if($lang == "nl"||"en"||"fr")
    }


    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44285988
    quote:
    Op zaterdag 9 december 2006 21:01 schreef qu63 het volgende:

    [..]

    foreach ($languages as $lang)
    {
    if($lang == "nl"||"en"||"fr")
    }


    :?
    Doe het met een lijstje met talen die je ondersteunt:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $availableLanguages = array('en', 'fr', 'nl');
    foreach ($languages as $lang)
    {
        $lang = substr($lang, 0, 2);
        if (in_array($lang, $availableLanguages))
        {
            break; // uit de loop
        }
    }

    echo $lang;
      zaterdag 9 december 2006 @ 21:23:19 #100
    62215 qu63
    ..de tijd drinkt..
    pi_44286316
    quote:
    Op zaterdag 9 december 2006 21:13 schreef JeRa het volgende:

    [..]

    Doe het met een lijstje met talen die je ondersteunt:

    [ code verwijderd ]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $parts 
    explode(';'$_SERVER['HTTP_ACCEPT_LANGUAGE']);
    $languages explode(','$parts);
    $availableLanguages = array('en''fr''nl');
    foreach (
    $languages as $lang)
    {
        
    $lang substr($lang02);
        if (
    in_array($lang$availableLanguages))
        {
            break; 
    // uit de loop
        
    }
    echo 
    $lang;
    }
    ?>


    dit geeft als output alleen maar "Ar"..

    ik snap niet waar ie fout gaat
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      Admin zaterdag 9 december 2006 @ 21:24:46 #101
    725 crew  Breuls
    Bad Wolf
    pi_44286358
    $parts is een array, maar je behandelt 'm als string.
    I am a leaf on the wind.
    Watch how I soar.
    pi_44286629
    quote:
    Op zaterdag 9 december 2006 21:23 schreef qu63 het volgende:

    [..]
    [ code verwijderd ]

    dit geeft als output alleen maar "Ar"..

    ik snap niet waar ie fout gaat
    Je hebt mijn (geëditte) code niet helemaal goed overgenomen :)
    1$languages = explode(',', $parts[0]);
      zaterdag 9 december 2006 @ 21:37:31 #103
    62215 qu63
    ..de tijd drinkt..
    pi_44286733
    quote:
    Op zaterdag 9 december 2006 21:33 schreef JeRa het volgende:

    [..]

    Je hebt mijn (geëditte) code niet helemaal goed overgenomen

    [ code verwijderd ]
    ah!
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_44298302
    Hoi,

    ik probeer met het volgende stukje code een unix timestamp te maken(seconden sinds epoch) De waarden krijg ik zoals te zien is afzonderlijk door voor jaar, maand, dag, uur, minuut. (Seconde vul ik handmatig aan) maar dit werkt niet. Wat is de fout? Ik staar mij blind.

    1
    2
    3
    4
    5
    6
    7
    <?php
    //code zoals ik het gebruik
    $autojob_time=mktime($_POST['uur'] . "," . $_POST['minuut'] . ",00," . $_POST
    ['maand']) . "," . $_POST['dag'] . "," . $_POST['jaar']);  

    // de $_POST variabelen worden opgeschoond, heb ik in dit voorbeeld weggelaten.
    ?>
      Admin zondag 10 december 2006 @ 12:48:52 #105
    725 crew  Breuls
    Bad Wolf
    pi_44298440
    Je geeft een string door aan mktime, in plaats van losse parameters.
    I am a leaf on the wind.
    Watch how I soar.
    pi_44298510
    quote:
    Op zondag 10 december 2006 12:48 schreef Breuls het volgende:
    Je geeft een string door aan mktime, in plaats van losse parameters.
    oei, blijkt mijn laatste sprankje stille hoop niet ongegrond. Ergens had ik een vermoeden dath et zoiets zou moeten zijn.

    Maar, uhm, wat doe ik precies fout en hoe verander ik dit?
      Admin zondag 10 december 2006 @ 12:55:23 #107
    725 crew  Breuls
    Bad Wolf
    pi_44298626
    Nou, om de eerste twee parameters als voorbeeld te nemen, je doet dit:
    1$_POST['uur'] . "," . $_POST['minuut'] 

    Met de punt plak je de waarde van $_POS['uur'] aan de string ",". Vervolgens doe je met de volgende variabelen hetzelfde. Daardoor krijg je uiteindelijk wel de string "12,34,00,45" etcetera, maar dat is 1 variabele die je als de eerste parameter aan mktime() meegeeft.

    Wat je dus moet doen is de parameters achter elkaar zetten, en scheiden dmv een komma. Klaar ben je.
    I am a leaf on the wind.
    Watch how I soar.
    pi_44298833
    Oh, Breuls, held!

    Ik vermoedde reeds dat het iets met de vorm te maken had waarin ik de waarden doorgeef.
    Dank U hartelijk, het werkt!
      zondag 10 december 2006 @ 13:21:42 #109
    12880 CraZaay
    prettig gestoord
    pi_44299492
    Wellicht is het een idee om in de startpost op te nemen (het is immers voor dummies) wat de verschillende data types zijn (string, integer, etc), hoe de documentatie op php.net te lezen (bv. over parameters), het verschil tussen enkele en dubbele quotes (worden ook hier vaak onnodig/onjuist gebruikt), etc?
      Admin zondag 10 december 2006 @ 13:40:10 #110
    725 crew  Breuls
    Bad Wolf
    pi_44300067
    Ik zou zeggen, schrijf er een wiki-pagina over.
    I am a leaf on the wind.
    Watch how I soar.
      FOK!-Schrikkelbaas zondag 10 december 2006 @ 13:51:47 #111
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44300605
    quote:
    Op zondag 10 december 2006 13:21 schreef CraZaay het volgende:
    Wellicht is het een idee om in de startpost op te nemen (het is immers voor dummies) wat de verschillende data types zijn (string, integer, etc), hoe de documentatie op php.net te lezen (bv. over parameters), het verschil tussen enkele en dubbele quotes (worden ook hier vaak onnodig/onjuist gebruikt), etc?
    Mjah, daar is toch de manual voor. Daar kan naar verwezen worden, dwing je beginners ook nog eens om op php.net te kijken
    pi_44301240


    [ Bericht 100% gewijzigd door beerten op 10-12-2006 14:07:13 ]
    pi_44302871
    quote:
    Op zondag 10 december 2006 13:40 schreef Breuls het volgende:
    Ik zou zeggen, schrijf er een wiki-pagina over.
    Ik heb ooit eens een kleine FAQ gemaakt over php, misschien ben je daar wat mee . Die staat op m'n site voor de geinteresseerden
      zondag 10 december 2006 @ 23:07:10 #114
    12880 CraZaay
    prettig gestoord
    pi_44315491
    quote:
    Op zondag 10 december 2006 13:51 schreef Swetsenegger het volgende:

    [..]

    Mjah, daar is toch de manual voor. Daar kan naar verwezen worden, dwing je beginners ook nog eens om op php.net te kijken
    Mensen die met PHP beginnen en nog nooit op php.net geweest zijn moeten toch wel uberprutsers zijn
    quote:
    Op zondag 10 december 2006 14:52 schreef fate het volgende:

    [..]

    Ik heb ooit eens een kleine FAQ gemaakt over php, misschien ben je daar wat mee . Die staat op m'n site voor de geinteresseerden
    Goeie! Daar staat zo'n beetje in waar ik op doelde.

    [ Bericht 35% gewijzigd door CraZaay op 10-12-2006 23:12:35 ]
    pi_44343500
    Ik wil graag een dunamisch php menu maken met meerdere (liefst oneindig) veel submenu's
    Dus dat je sub-, sub-, sub-, sub-menus kan maken indien nodig.

    maar hoe ga ik dat aanpakken kwa php en kwa database?
      maandag 11 december 2006 @ 23:46:30 #116
    12880 CraZaay
    prettig gestoord
    pi_44343883
    Recursie is a bitch
      dinsdag 12 december 2006 @ 00:33:48 #117
    60297 Bartje71
    Wat denk je zelf?
    pi_44345163
    In een nutshell:
    Qua database: bij elk item behalve een ID ook het ID van de parent opslaan (dus het item waar ie onder hangt).
    Qua php: functie maken die van een bepaald ID alle kinderen ophaalt (dus alles met parentID = ID). Dan een while lusje over al die kinderen waarin je diezelfde functie aanroept, maar dan met de ID van het betreffende kind. (en dan even netjes checken dat je daar wel uitkomt als er geen kinderen meer zijn enzo)
    pi_44348022
    Eens kijken wat ik daarmee kan.
    edit: ja dus, maar is het zo verstandig? Het werkt wel

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function build_menu($ParentID) {
       $query = "SELECT * FROM `site_menu` WHERE ParentID='".$ParentID."' ORDER BY id ASC";
       $result = mysql_query($query) or die (mysql_error());
       while($row = mysql_fetch_array($result))
       {
          $items .= '<li>'.$row[title];
          $items .= (build_menu($row[ID])) ? build_menu($row[ID]) : '';
          $items .= '</li>'."n";
       }

       return ($items) ? '<ul>'."n".$items.'</ul>'."n" : 0 ;
    }

    $menu = build_menu(0);


    [ Bericht 95% gewijzigd door Darkomen op 12-12-2006 09:16:43 ]
      dinsdag 12 december 2006 @ 09:35:20 #119
    12880 CraZaay
    prettig gestoord
    pi_44348880
    Kan. Dit is wel een beetje overkill:

    1$items .= (build_menu($row[ID])) ? build_menu($row[ID]) : '';

    Je voert deze functie (en query) nu twee keer uit: eerst kijk je of het resultaat niet false is, en als dat zo is dan voer je de functie nog een keer uit. Omdat het allemaal al redelijk zwaar kan worden (voor ieder niveau een query) zou ik dit er iig uitslopen.

    NB: Die enkele quotes rond '".$ParentID."' zijn niet nodig, het is geen string.
    pi_44349122
    klopt heb je helemaal gelijk in, had het in de 'remake' al veranderd
    pi_44350438
    Ik ben bezig met een bookmark manager, gewoon om PHP en mySQL te leren verder. Maar nu heb ik iets waar ik niet uit kom. Ik heb deze query:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $query
    = "
    SELECT *
    FROM bookmark_cat, bookmark_links
    WHERE bookmark_cat.id = bookmark_links.cat_id
    GROUP BY cat_id"
    ;

    $result = mysql_query($query) or die (mysql_error());
    while(
    $row = mysql_fetch_array($result)) {
        echo
    '<h2>'. $row['cat_naam'] . '</h2>';    
        echo
    '<p>' . $row['naam'] . '</p>';
        
    }
    ?>


    en de (logische) output is dit:

    1
    2
    3
    4
    5
    6
    7
    8
    CAT NAAM 1
    link 1

    CAT NAAM 1
    link 2

    CAT NAAM 1
    link 3


    enzo voorts.

    maar ik wil het dus zo hebben:

    1
    2
    3
    4
    5
    6
    7
    8
    CAT NAAM 1
    link 1
    link 2
    link 3

    CAT NAAM 2
    link 4
    link 5


    Ik heb al vele manier geprobeerd maar ik kom er niet uit
    pi_44350868
    @super-muffin

    Je krijgt bij een JOIN bijna altijd redundante data (zolang het een 1:n- of m:n-JOIN is) dus die moet je eruit filtreren. Je kunt vast wel een manier verzinnen om in dat loopje de header telkens maar één keer weer te geven
    pi_44351276
    hm ja, ik had eerst een query in een while loop. Maar dat lijkt me te server belastend. Ik dacht dat er wel een andere manier moet zijn.
    pi_44352220
    quote:
    Op dinsdag 12 december 2006 11:25 schreef super-muffin het volgende:
    hm ja, ik had eerst een query in een while loop. Maar dat lijkt me te server belastend. Ik dacht dat er wel een andere manier moet zijn.
    Je query kun je zo laten. Maar je hele probleem is toch dat je de header maar één keer wilt weergeven? Als je nou eens de header in het loopje telkens opslaat in een variabele en de header alleen weergeeft als ie niet meer overeenkomt met wat er in de variabele staat?
    pi_44352725
    Zoals dit? :?

    Dit staat in de while loop:
    1
    2
    3
    4
    5
    6
    7
    <?php
    $titel
    = $row['cat_naam'];
        
    if(
    $titel != $row['cat_naam']) {
        echo
    '<h2>'. $row['cat_naam'] . '</h2>';
    }
    ?>

    Dan krijg ik geen headings.
    pi_44353110
    quote:
    Op dinsdag 12 december 2006 12:18 schreef super-muffin het volgende:
    Zoals dit? :?

    Dit staat in de while loop:
    [ code verwijderd ]

    Dan krijg ik geen headings.
    Dat komt omdat je $titel éérst vult met de header en daarna controleert of het verschilt met de header. (:?)

    Dus, vóór de loop:
    1$titel = '';


    In de loop:
    1
    2
    3
    4
    5
    if ($titel != $row['cat_naam'])
    {
        $titel = $row['cat_naam'];
        echo '<h2>etc</h2>';
    }


    :)
    pi_44354213
    uh ja dat was niet echt logisch

    maar thnx, zo werkt het. Nu ga ik verder stoeien
    pi_44358467
    Ik draai PHP 5 op Windows Server 2003 R2 met IIS 6.0. Maar ik heb een probleem met het verwijderen van bestanden. De unlink() functie wil niet werken, wegens een "permission denied".

    Nu kan ik er maar erg weinig over vinden en al helemaal niets nuttigs. Weet iemand hier toevallig hoe ik dit kan fixen?
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_44358724
    quote:
    Op dinsdag 12 december 2006 15:23 schreef papernote het volgende:
    Ik draai PHP 5 op Windows Server 2003 R2 met IIS 6.0. Maar ik heb een probleem met het verwijderen van bestanden. De unlink() functie wil niet werken, wegens een "permission denied".
    Een aanroep naar unlink() is in Windows weinig meer dan een wrapper om de API-call om een bestand te verwijderen. Kennelijk vindt Windows dat de gebruiker waaronder IIS wordt uitgevoerd niet genoeg rechten heeft om het bestand te verwijderen dus hoe zit het met de permissies van gebruikers op het bestand dat je wilt verwijderen?
    pi_44359369
    quote:
    Op dinsdag 12 december 2006 15:31 schreef JeRa het volgende:

    [..]

    Een aanroep naar unlink() is in Windows weinig meer dan een wrapper om de API-call om een bestand te verwijderen. Kennelijk vindt Windows dat de gebruiker waaronder IIS wordt uitgevoerd niet genoeg rechten heeft om het bestand te verwijderen dus hoe zit het met de permissies van gebruikers op het bestand dat je wilt verwijderen?
    Ik heb de IIS user Full Control gegeven over alle bestanden in de wwwroot. Ik heb zelfs Everyone Full Control gegeven over de wwwroot. Beide werkt niet.
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_44359654
    Hmm... het verwijderen heb ik opgelost door een fclose() voor de unlink() te zetten. Vergeten .
    Schuimpje... mijn liefste. Verlaat mij nimmer weer...
    pi_44359742
    -edit: al opgelost
    pi_44362202
    Ben voor mijn school bezig met een filebeheer te maken. Het probleem is echter dat dit via het netwerk gaat.

    Het uitlezen van de bestanden gaat perfect "//server/bla/leerlingmap", echter bij het uploaden van files gaat het fout. Dan krijg ik een "permission denied", de server kan wel mappen aanmaken?

    De pc waarop de Apache server draait met PHP5 heeft alle rechten op de netwerkmap.

    Heeft iemand hier ervaringen/tips/oplossingen met/voor dit probleem?
    pi_44402318
    quote:
    Op dinsdag 12 december 2006 17:06 schreef fokME2 het volgende:
    Ben voor mijn school bezig met een filebeheer te maken. Het probleem is echter dat dit via het netwerk gaat.

    Het uitlezen van de bestanden gaat perfect "//server/bla/leerlingmap", echter bij het uploaden van files gaat het fout. Dan krijg ik een "permission denied", de server kan wel mappen aanmaken?

    De pc waarop de Apache server draait met PHP5 heeft alle rechten op de netwerkmap.

    Heeft iemand hier ervaringen/tips/oplossingen met/voor dit probleem?
    Ben ik nou topickiller?
    pi_44403413
    Hoe upload je je bestanden? Welke functies, waar worden de tijdelijke bestanden opgeslagen, etc?
    quote:
    Op woensdag 13 december 2006 19:44 schreef fokME2 het volgende:

    [..]

    Ben ik nou topickiller?
    Beetje wel
    pi_44404998
    quote:
    Op woensdag 13 december 2006 20:19 schreef JeRa het volgende:
    Hoe upload je je bestanden? Welke functies, waar worden de tijdelijke bestanden opgeslagen, etc?
    [..]

    Beetje wel
    Probeer mbv php en move_uploaded_file(), of copy() de file te verplaatsen. Dan krijg ik de error . Uploaden naar het path van het PHP bestand gaat wel.

    De tijdelijke bestanden worden lokaal op de webserver opgeslagen (waar precies moet ik even uitzoeken, kan alleen op school zelf bij de bestanden enzo).
    Zal morgen proberen wat meer info te plaatsen, in de hoop dat de systeembeheerder er is
    quote:
    On windows I made the directory writable, by changing the Apache httpd.conf file.

    The problem I had, was with the upload directory. The move_uploaded_file produced an error like: failed to open stream: Permission denied.

    I changed my php.ini to specify an upload directory:
    upload_tmp_dir = "d:/temp/php/uploads/"

    and I added the following in the Apache hpptd.conf file:

    <Directory "D:/temp/php/uploads">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>

    restarted Apache, and the upload succeeded.
    Dat lees ik net op php.net. Weet iemand of je bij Apache misschien het netwerkpath zou moeten instellen? En of dat uberhaupt kan?

    Sorry voor het killen
      FOK!-Schrikkelbaas woensdag 13 december 2006 @ 23:22:57 #137
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44411294
    Ik zit weer eens in de knoop met wat queries.

    Ik had een eenvoudig polletje gebouwd. Nu heb ik dat script verbouwd zodat ik meerdere polls kan gaan aanmaken via m'n cmsje. Waarbij het idee is dat je onbeperkt aantal polls en bijbehorende vragen kan aanmaken en uiteraard daarop antwoorden.

    database structuur.

    Tabel Polls
    1
    2
    3
    4
    Poll_Id | Poll_Name | Archive
    --------+-----------+--------
       1    |   Smaak   |    0
       2    |   Test    |    1


    Table Poll_Questions
    1
    2
    3
    4
    5
    6
    7
    Poll_Question_Id |      Question        | Poll
    -----------------+----------------------+-------
       1             |   Smaakt uw vlees    |    1
       2             |   Smaakt uw koffie   |    1
       3             |   Smaakt uw groente  |    1
       4             |   Testvraag 1        |    2
       5             |   Testvraag 2        |    2


    Tabel Poll_Answers
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Poll_Answer_Id |  Poll | Question  | IP
    ---------------+-------+-----------+-------
       1           |   1   |    2      | ip van voter
       2           |   1   |    2      |
       3           |   1   |    1      |
       4           |   1   |    1      |
       5           |   1   |    1      |
       6           |   1   |    2      |
       7           |   2   |    1      |
       1           |   2   |    1      |
       1           |   2   |    2      |


    Uiteraard is het de bedoeling dat ik vervolgens per poll het aantal vragen en percentage stemmen daarop laat zien.

    Maar dat krijg ik niet voor elkaar. Ik moet met joins aan de slag, want de query van basale vorige scriptje zal in bovenstaand voorbeeld bv nooit vraag 3 van poll 1 tonen met 0 stemmen:
    1
    2
    3
    <?php
    SELECT Question
    , COUNT(Question) as vote FROM Poll_Answers WHERE Poll=".$poll." GROUP BY Question
    ?>


    Deze toont alleen de stemmen waar minimaal 1 keer op gestemt is.

    Ik heb het volgende al geprobeerd:
    1
    2
    3
    <?php
    SELECT q
    .Question, COUNT(a.Question) as vote FROM Poll_Questions q JOIN Poll_Answers a ON (q.Poll=a.Poll) WHERE a.Poll=".$poll."  GROUP BY a.Question
    ?>

    Maar die geeft bv 2 maal dezelfde vraag terug met verschillend aantal votes

    HELP!
    (volgens mij moet ik gaan left of right joinen ofzo, omdat er immers niet altijd een relatie HOEFT te zijn. Innerjoins gaan er toch vanuit dat er altijd een relatie is?)

    [ Bericht 3% gewijzigd door Swetsenegger op 13-12-2006 23:31:47 (domme fok ubb parser :() ]
    pi_44412198
    Volgens mij kan je gewoon een inner join doen als ik dit zo lees: http://www.w3schools.com/sql/sql_join.asp

    Echter als ik dit zo lees:
    http://en.wikipedia.org/wiki/Join_(SQL)

    Lijkt het erop dat je een left outer join moet doen.
    pi_44416335
    quote:
    Op woensdag 13 december 2006 21:01 schreef fokME2 het volgende:

    [..]

    Dat lees ik net op php.net. Weet iemand of je bij Apache misschien het netwerkpath zou moeten instellen? En of dat uberhaupt kan?
    PHP draait als apart proces met de rechten van de gebruiker van de webserver, dus daar hoef je niet voor in httpd.conf te zijn. Lukt het je wel om de bestanden in een lokale map (op de eigen harde schijf) op te slaan?
    pi_44416462
    @Swetsenegger

    Een normale LEFT JOIN (== LEFT OUTER JOIN) zou afdoende moeten zijn. Je hebt gelijk dat er geen relatie hoeft te bestaan, dus pak je de tabel met de rijen die je wilt hebben (de questions) en join je daar hetgene op waar je informatie over wilt hebben (de answers). Let wel op dat je formeel een NULL-waarde krijgt van MySQL in het geval dat er geen rijen gevonden zijn bij een bepaalde question.

    Verder een tip voor Poll_Answers; als je Poll_Answer_Id dropt en een PRIMARY KEY op de kolommen (IP, Poll) legt dan zorg je ervoor dat er in MySQL een restrictie komt: elk IP-adres kan maar één keer op één bepaalde poll stemmen.

    En over het algemeen zal deze opzet niet de snelste qua performance zijn; MySQL is niet zo geweldig met GROUP BY's (zelfs niet als je de juiste indices aanlegt). Persoonlijk zou ik een aparte tabel hebben gemaakt met de scores per antwoord op een poll zodat je die simpel kunt incrementen bij een stem. Je Poll_Answers-tabel kun je dan zo versimpelen Dat je 'IP' en 'Poll' overhoudt (inclusief de eerder genoemde PRIMARY KEY natuurlijk).
    pi_44418784
    Kent iemand toevallig een class die tekst kan vertalen naar duits en engels?
    ..///
      donderdag 14 december 2006 @ 10:48:35 #142
    52200 ViPeRII
    It's a good day to die
    pi_44418865
    Lol dat is nooit een class. Dat is een lijst met woorden die vertaalt worden.
    -- ViPeRII --
      FOK!-Schrikkelbaas donderdag 14 december 2006 @ 11:05:09 #143
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44419200
    quote:
    Op donderdag 14 december 2006 08:38 schreef JeRa het volgende:
    @Swetsenegger

    Een normale LEFT JOIN (== LEFT OUTER JOIN) zou afdoende moeten zijn. Je hebt gelijk dat er geen relatie hoeft te bestaan, dus pak je de tabel met de rijen die je wilt hebben (de questions) en join je daar hetgene op waar je informatie over wilt hebben (de answers). Let wel op dat je formeel een NULL-waarde krijgt van MySQL in het geval dat er geen rijen gevonden zijn bij een bepaalde question.

    Verder een tip voor Poll_Answers; als je Poll_Answer_Id dropt en een PRIMARY KEY op de kolommen (IP, Poll) legt dan zorg je ervoor dat er in MySQL een restrictie komt: elk IP-adres kan maar één keer op één bepaalde poll stemmen.

    En over het algemeen zal deze opzet niet de snelste qua performance zijn; MySQL is niet zo geweldig met GROUP BY's (zelfs niet als je de juiste indices aanlegt). Persoonlijk zou ik een aparte tabel hebben gemaakt met de scores per antwoord op een poll zodat je die simpel kunt incrementen bij een stem. Je Poll_Answers-tabel kun je dan zo versimpelen Dat je 'IP' en 'Poll' overhoudt (inclusief de eerder genoemde PRIMARY KEY natuurlijk).
    Ik kom er vanavond even op terug, ik zit voornamelijk nog met hoe ik een count van rijen kan koppelen aan 1 vraag uit de andere tabel in m'n query. Je performance verhaal lees ik even als ik niet meer op mijn werk zit. Het database model kan nu nog volledig op de schop

    -edit- oeh, je primary key tip voor de poll answers tabel is wel een goeie. Ik wist niet eens dat je twee kolommen in 1 tabel primary key kan maken?

    -edit2-
    Hmz, een aparte score tabel incrementen is ook wel aardig idee
    pi_44419659
    quote:
    Op donderdag 14 december 2006 10:48 schreef ViPeRII het volgende:
    Lol dat is nooit een class. Dat is een lijst met woorden die vertaalt worden.
    Dan ben je erg beperkt met vertalen een vertaling bestaat uit méér dan alleen str_replace()'s, dus daarvoor zou goed een class gebruikt kunnen worden om instanties van vertalers te maken.
    quote:
    Op donderdag 14 december 2006 10:45 schreef wipes66 het volgende:
    Kent iemand toevallig een class die tekst kan vertalen naar duits en engels?
    Nope. Lijkt me ook raar nu de paar beste (en zelfs dan nog matige) oplossingen commerciëel zijn
    pi_44419874
    quote:
    Op donderdag 14 december 2006 11:05 schreef Swetsenegger het volgende:

    [..]

    Ik kom er vanavond even op terug, ik zit voornamelijk nog met hoe ik een count van rijen kan koppelen aan 1 vraag uit de andere tabel in m'n query.
    Dit kan vrij simpel omdat je telkens maar één poll opvraagt. Je koppelt de stemmen aan de vragen:
    1SELECT v.vraag, s.id FROM vragen v LEFT JOIN stemmen s 

    Door nu te GROUP BY'en op de vragen zorg je ervoor dat je het aantal stemmen per vraag kunt tellen:
    1SELECT v.vraag, COUNT(s.id) FROM vragen v LEFT JOIN stemmen s GROUP BY v.id (of v.vraag)

    COUNT() is dan dus een aggregate function die werkt op alle rijen in de tabel 'stemmen' die gekoppeld zijn aan een bepaalde vraag. Maar dit is natuurlijk niet meer relevant als je dat idee gebruikt van een aparte tabel met scores.
    quote:
    -edit- oeh, je primary key tip voor de poll answers tabel is wel een goeie. Ik wist niet eens dat je twee kolommen in 1 tabel primary key kan maken?
    Een PRIMARY KEY is niets anders dan een UNIQUE INDEX met een extra tagje zodat je bij natural joins niet hoeft aan te geven hoe je tabellen koppelt. Een INDEX kun je gewoon over meerdere kolommen leggen, dat heb ik een tijd geleden in deze topicreeks redelijk uitgebreid besproken. UNIQUE zorgt ervoor dat je altijd unieke combinaties van die kolommen moet hebben. In het geval van de combinatie IP,PollID is dat dus een unieke combinatie van IP-adres en Poll-ID voor een stem
    quote:
    -edit2-
    Hmz, een aparte score tabel incrementen is ook wel aardig idee
    Je hebt in je huidige opzet een hoop redundante informatie, aangezien je geen informatie aan een stem koppelt (het is een primitieve, een integer 1 waarvan je het totaal wilt weten). Dan is zo'n aparte tabel een erg goed idee aangezien je er zo ook voor zorgt dat MySQL na een tijdje zich niet verslikt in de GROUP BY (en je hoeft iets minder rekening te houden met de juiste indices).
    pi_44420379
    quote:
    Op donderdag 14 december 2006 10:45 schreef wipes66 het volgende:
    Kent iemand toevallig een class die tekst kan vertalen naar duits en engels?
    Ik zou eerder denken aan een soort van webservice die je kunt aanroepen met SOAP of iets dergelijks. Volgens mij bestaan er wel dergelijke vertaalwebservices.
    pi_44421530
    Vraagje: kun je ook ergens een soort van voorbeeld database downloaden met bv alle landen, of een aantal namen er in?

    Die heb ik namelijk nodig voor een testje, maar heb geen zin om zelf al die informatie bij elkaar te zoeken.
    pi_44421604
    quote:
    Op donderdag 14 december 2006 12:31 schreef super-muffin het volgende:
    Vraagje: kun je ook ergens een soort van voorbeeld database downloaden met bv alle landen, of een aantal namen er in?

    Die heb ik namelijk nodig voor een testje, maar heb geen zin om zelf al die informatie bij elkaar te zoeken.
    Google met de magische keywords: "sql countries"
    pi_44421812
    lol bedankt
    (ik zocht op te moeilijke keywords, daarom kon ik het niet vinden)
      FOK!-Schrikkelbaas donderdag 14 december 2006 @ 16:31:06 #150
    1972 Swetsenegger
    Egocentrische Narcist
    pi_44429188
    quote:
    Op donderdag 14 december 2006 11:31 schreef JeRa het volgende:

    [..]

    Dit kan vrij simpel omdat je telkens maar één poll opvraagt. Je koppelt de stemmen aan de vragen:
    [ code verwijderd ]

    Door nu te GROUP BY'en op de vragen zorg je ervoor dat je het aantal stemmen per vraag kunt tellen:
    [ code verwijderd ]

    COUNT() is dan dus een aggregate function die werkt op alle rijen in de tabel 'stemmen' die gekoppeld zijn aan een bepaalde vraag. Maar dit is natuurlijk niet meer relevant als je dat idee gebruikt van een aparte tabel met scores.
    1SELECT q.Question, COUNT(s.Poll_Answers_Id) as aantal FROM Poll_Questions q LEFT JOIN Poll_Answers s GROUP BY q.Question
    quote:
    You have an error in you SQL syntax ... ~ ... syntax to use near 'GROUP BY q.Question' at line 1
    Ik zie geen fout in de syntax?
    -edit-
    On clausule vergeten, deze werkt
    1SELECT q.Question, COUNT(a.Question) as aantal FROM Poll_Questions q LEFT JOIN Poll_Answers a ON(q.Poll_Question_Id=a.Question) GROUP BY q.Question DESC
    quote:
    Een PRIMARY KEY is niets anders dan een UNIQUE INDEX met een extra tagje zodat je bij natural joins niet hoeft aan te geven hoe je tabellen koppelt. Een INDEX kun je gewoon over meerdere kolommen leggen, dat heb ik een tijd geleden in deze topicreeks redelijk uitgebreid besproken. UNIQUE zorgt ervoor dat je altijd unieke combinaties van die kolommen moet hebben. In het geval van de combinatie IP,PollID is dat dus een unieke combinatie van IP-adres en Poll-ID voor een stem
    [..]

    Je hebt in je huidige opzet een hoop redundante informatie, aangezien je geen informatie aan een stem koppelt (het is een primitieve, een integer 1 waarvan je het totaal wilt weten). Dan is zo'n aparte tabel een erg goed idee aangezien je er zo ook voor zorgt dat MySQL na een tijdje zich niet verslikt in de GROUP BY (en je hoeft iets minder rekening te houden met de juiste indices).
    Hier ga ik ook mee aan de slag Hoewel ik me bedenk dat ik dan nog een tabel met polls en ip's moet gaan bijhouden.

    [ Bericht 6% gewijzigd door Swetsenegger op 14-12-2006 16:55:25 ]
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')