Heb je één voorbeeld van tabellen, gegevens en een query die anders uitgevoerd wordt in Theta style dan in ANSI style? Het zou wel heel knullig zijn als de query optimizer dit verschillend oppakt.quote:Op vrijdag 9 januari 2009 18:10 schreef Farenji het volgende:
[..]
Die tweede vorm is veel efficienter. Je geeft daar meteen aan hoe gejoind moet worden in de on clause, en daardoor kan de query beter geoptimaliseerd worden.
Dit moet ik rectificeren. Het maakt geen fuck uit. Ik heb een benchmark gedraaid op een database met tabellen van miljoenen records en beide vormen zijn even snel.quote:Op vrijdag 9 januari 2009 18:10 schreef Farenji het volgende:
[..]
Die tweede vorm is veel efficienter. Je geeft daar meteen aan hoe gejoind moet worden in de on clause, en daardoor kan de query beter geoptimaliseerd worden.
Met meer states is enum inderdaad een optiequote:Op vrijdag 9 januari 2009 15:24 schreef Gloeidoos het volgende:
Ik heb de tables aangepast om het een beetje simpel te houden. In feite is het een kolomnaam met de naam state, enum('enabled','disabled'). Volgens mij komen hier uiteindelijk nog meer states bij, als dat nodig is.
Maar voor booleans zal ik dan voortaan wel 0 en 1 gebruiken.
De integer die jij voorstelde was sowieso overdone om 0 of 1 op te slaan. Een tinyint voldoet dan al. En onder de byte per veld kom je niet, dus tinyint/enum is om het even en dan kies je natuurlijk de duidelijkste.quote:Op vrijdag 9 januari 2009 20:09 schreef Roy_T het volgende:
[..]
Met meer states is enum inderdaad een optie
Het zou dan ook niet best zijn als het wél uit zou maken.quote:Op vrijdag 9 januari 2009 19:42 schreef Farenji het volgende:
[..]
Dit moet ik rectificeren. Het maakt geen fuck uit. Ik heb een benchmark gedraaid op een database met tabellen van miljoenen records en beide vormen zijn even snel.
Jepsquote:
Volgens mij maakt het MySQL niets uit of je WHERE of ON gebruikt bij een JOIN. Tenzij je op zoek gaat naar NULL-waardes, dat lukt je niet zonder ON.quote:Op vrijdag 9 januari 2009 18:10 schreef Farenji het volgende:
[..]
Die tweede vorm is veel efficienter. Je geeft daar meteen aan hoe gejoind moet worden in de on clause, en daardoor kan de query beter geoptimaliseerd worden.
Bij een inner join maakt het inderdaad niets uitquote:Op zaterdag 10 januari 2009 15:47 schreef Light het volgende:
[..]
Volgens mij maakt het MySQL niets uit of je WHERE of ON gebruikt bij een JOIN. Tenzij je op zoek gaat naar NULL-waardes, dat lukt je niet zonder ON.
hij laat het form zien..quote:Op zaterdag 10 januari 2009 16:42 schreef GlowMouse het volgende:
Waarom wil hij niet toevoegen? Wat geeft echo $voegtoe?
submitquote:
1 2 3 4 5 6 | $a = array(false, 0, '0'); foreach($a as $value) { echo $value ? 'set' : 'not set'; } ?> |
empty en isset zijn niet helemaal elkaars tegenpolen. Een variabele kan best een waarde hebben (isset) en toch leeg zijn (empty).quote:Op zaterdag 10 januari 2009 17:12 schreef Kerol het volgende:
Bij een IF Isset word gekeken of de variabele die je aangeeft (in jouw geval $value) een waarde heeft.
Dit kun je bijvoorbeeld gebruiken om te controleren of iemand op de Submit knop heeft gedrukt o.i.d.
Ik gebruik liever empty.
1 2 3 4 5 6 7 8 9 | $a = 'a random string'; $b = 0; if ( $a == true && $b == false && $a == $b ) { die ( 'The universe is broken' ); } ?> |
quote:Op zaterdag 10 januari 2009 16:35 schreef cablegunmaster het volgende:
ik heb nu alles werkend behalve het toevoegen.
hoe krijg je dat een form submit en dan insert?
ik zit nu namelijk met dat hij niet wil toevoegen.
hij kan de database wel connecten.
<?php
if (isset($_POST['submit'])){
<inc 'connect.php' >
$submit = "insert into reis
(bestemming )
values ( ' ".strip_tags($_POST['bestemming']." ' )" ;
$voegtoe = mysql_query($submit) or die (mysql_error ());
} else {
?>
<html>
<body>
<form action="<?php echo($_server["php_self"]);?> method="post">
<input type="text" name="bestemming">
<input type ="submit" name="submit" value="verzenden">
<input type="reset" name="reset" value="leegmaken">
</form>
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 | if ((int)0) { echo " int 0 is true "; } else { echo " int 0 is false "; } if ((string)"0") { echo " string 0 is true "; } else { echo " string 0 is false "; } if ((string)"wat dan ook maar niet 0") { echo " n.e. string is true "; } else { echo " n.e. string is false "; } if ((string)"watdanook" == (int)0) { echo " n.e. string is equal to int 0 "; } else { echo " n.e. string is not equal to int 0 "; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var_dump(0 == "a"); // 0 == 0 -> true var_dump("1" == "01"); // 1 == 1 -> true var_dump("1" == "1e0"); // 1 == 1 -> true switch ("a") { case 0: echo "0"; break; case "a": // never reached because "a" is already matched with 0 echo "a"; break; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | if(isset($_POST['code'])) { $code = preg_replace("/[^a-zA-Z0-9s]/", '', strtolower(trim($_POST['code']))); $result = $db->query("SELECT iets FROM tabel WHERE code = '". $db->real_escape_string($code) ."';"); if($result->num_rows) { // doe iets header('Location: http://het.is.gelukt.nl/pagina.html'); exit; } else { echo 'Je code is onjuist.'; exit; } echo 'Oké... wat nu?'; } ?> |
Dan zal in dat proces wel iets fout zijn gegaan. Exit vergeten na de location-header ofzo.quote:Op zaterdag 10 januari 2009 19:29 schreef HuHu het volgende:
PS: uiteraard had ik er wat anders/netjes van gemaakt, maar het gaat om het idee. Dit is echt het meest vage wat ik tot nu toe met PHP ben tegen gekomen.
Jawel, als je error_reporting op E_ALL zet, zal je zien dat php een warning geeft dat je een ongedefinieerde variable gebruikt als je if($value) gebruikt.quote:Op zaterdag 10 januari 2009 17:03 schreef Likkende_Lassie het volgende:
isset... gebruiken jullie die nou altijd? Ik vind het echt een rare functie..snap hem wel, maar zonder isset, heb je toch hetzelfde?
Bijvoorbeeld:
if(ifset($value)){
}
tegen
if($value){
}
geen verschil toch?
1 2 3 4 5 6 7 8 | $query = "SELECT COUNT(*) FROM members WHERE username='".$myusername."' AND password='".$password."'"; $result = mysql_query($query); $rowcount = mysql_num_rows($result); // als er een resultaat is.. (dus groter dan 0) if($rowcount > 0) ?> |
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 | error_reporting(E_ALL); mysql_connect("localhost", "root", "")or die("mysql_error"); mysql_select_db("opdracht1")or die("mysql_error"); if(!empty($_POST)) { // username and password verstuurd uit formulier $myusername=$_POST['username']; $mypassword=$_POST['wachtwoord']; // kleine protectie MySQL injection $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $password = md5($mypassword); // kijk of er een username is met het ingevulde wachtwoord $query = "SELECT COUNT(*) FROM members WHERE username='".$myusername."' AND password='".$password."'"; $result = mysql_query($query); $rowcount = mysql_num_rows($result); // als er een resultaat is.. (dus groter dan 0) if($rowcount > 0) { $user = $_POST["username"]; $wachtwoord = $_POST["wachtwoord"]; $_SESSION['username'] = $user; $_SESSION['wachtwoord'] = $wachtwoord; header("Location: beveiligd.php"); } else { echo "U heeft geen goede combinatie van emailadres en wachtwoord gebruikt."; } } else { echo "U heeft de pagina verkeerd opgeroepen."; } ?> |
Dus ik kan beterquote:Op zondag 11 januari 2009 00:09 schreef GlowMouse het volgende:
count(*) geeft altijd een rijtje terug, namelijk een rij met daarin een getal dat het aantal rijen dat aan WHERE voldoet voorstelt.
1 2 3 | $query = "SELECT `username` FROM `members` WHERE `username`='".$myusername."' AND password='".$password."'"; ?> |
En waarom niet? Nu bekijkt hij toch hoeveel rijen usernames er zijn met de ingevoerde username en password.quote:Op zondag 11 januari 2009 00:19 schreef GlowMouse het volgende:
Nee, je moet niet mysql_num_rows gebruiken.
Eensquote:Op zondag 11 januari 2009 00:26 schreef Kerol het volgende:
[..]
En waarom niet? Nu bekijkt hij toch hoeveel rijen usernames er zijn met de ingevoerde username en password.
Bestaan de ingevoerde username en password in de db? -> Dan zal hij $rowcount = 1 geven. (Groter dan 1 kan ook niet omdat een username uniek is)
Bestaan de ingevoerde username en password niet in de db? -> Dan zal hij $rowcount = 0 geven en zal hij direct door gaan naar de ELSE statement omdat alleen als $rowcount groter dan 0 is hij in die IF terugkomt.
het is gelukt alleen maar een veld aanpassenquote:Op zondag 11 januari 2009 13:22 schreef GlowMouse het volgende:
http://dev.mysql.com/doc/refman/5.1/en/datetime.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $uploaddir = '/var/www/uploads/'; $uploadfile = $uploaddir . basename($_FILES['avatar']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile)) { echo "Bestand is valide en is geupload \n"; } else { echo "dit bestand is niet valide! \n"; } echo 'Wat heb ik fout gedaan:'; print_r($_FILES); print "</pre>"; ?> |
dus eigenlijk werkt het script wel als ik het online zou plaatsen?quote:Op zondag 11 januari 2009 15:09 schreef GlowMouse het volgende:
move_uploaded_file werkt op je filesystem en localhost heb je niet op je filesystem.
Ja daar heb je totaal gelijk in.quote:Op zondag 11 januari 2009 15:13 schreef GlowMouse het volgende:
Dat script werkt prima ja. Hij zet het bestand op de lokatie $uploadfile, zie de documentatie bij move_uploaded_file.
Een zin als "en ik snap totaal niet hoe ik C:\bestand.jpg kan laten weergeven dat hij dat verplaatst" is onbegrijpelijk.
Wat heeft FTP hiermee te maken?
Ik bedoelde dan ook niet INTEGER vs TINYINT, maar een integer i.p.v. een string (het woord enum was toen helemaal nog niet gevallen). Het ging mij om het datatype.quote:Op vrijdag 9 januari 2009 20:12 schreef GlowMouse het volgende:
De integer die jij voorstelde was sowieso overdone om 0 of 1 op te slaan. Een tinyint voldoet dan al. En onder de byte per veld kom je niet, dus tinyint/enum is om het even en dan kies je natuurlijk de duidelijkste.
Als je dit nou terugleest, snap je dan zelf wel wat je schrijft?quote:Op zondag 11 januari 2009 15:22 schreef cablegunmaster het volgende:
[..]
Ja daar heb je totaal gelijk in.
ik bedoel hoe kan je een script een plaatje laten weergeven.
ik kies bijvoorbeeld C:\Glowmouse.jpg
en dan wil ik dat hij het weergeeft als C:\Glowmouse.jpg
ipv dat hij dat doet. Geeft hij Glowmouse.jpg weer.
op de localhost zelf ipv op C:\ hierdoor kan het plaatje niet weergegeven worden.
het plaatje hoeft niet verplaatst te worden![]()
weet niet of het mogelijk is![]()
ik bedoel dat hij het opslaat alsquote:Op zondag 11 januari 2009 18:01 schreef Xcalibur het volgende:
[..]
Als je dit nou terugleest, snap je dan zelf wel wat je schrijft?
Ik vermoed dat je het plaatje onder een andere naam wilt weergeven dan dat het opgeslagen is, door middel van een script? In dat geval moet je je eens gaan inlezen bij header() en file_get_contents()
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 | echo var_dump($_POST); if (isset($_POST['Submit'])) { if ($_POST['vnaam'] == "" ) { $error = "Voornaam is niet ingevuld<BR />"; } if ($_POST['anaam'] == "") { $error .= "Achternaam is niet ingevuld<BR />"; } if ($_POST['email'] == "" ) { $error .= "Uw email is niet ingevuld<BR />"; } if ($_POST['comment'] == "" ) { $error .= "U heeft geen commentaar ingevuld<BR />"; } if (strlen($_POST["vnaam"]) <= 2) { $error .= "Voornaam moet minstens 2 tekens bevatten<BR />"; } if (strlen($_POST["anaam"]) < 3) { $error .= "Achternaam moet minstens 3 tekens bevatten"; } //Als naam, leeftijd of land niet is ingevuld, is $error NIET leeg. if (!isset($error)) //als de variabele $error niet is aangemaakt ... { $naam = ucfirst($_POST["vnaam"]); $anaam = ucfirst($_POST["anaam"]); $email = $_POST["email"] ; $date = $_POST["email"]; $comment = $_POST["comment"]; $avatar = $_POST["avatar"]; $time = $_POST["datum"]; trim($naam); trim($anaam); strip_tags($naam); strip_tags($anaam); strip_tags($email); strip_tags($comment); strip_tags($avatar); // was ik later mee bezig weet niet of het werkt $uploaddir = 'localhost/phpweek/'; $uploadfile = $uploaddir . basename($_FILES['avatar']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile)) { echo "Bestand is valide en is geupload \n"; } else { echo "dit bestand is niet valide! \n"; } echo 'Wat heb ik fout gedaan:'; print_r($_FILES); print "</pre>"; } */ echo $naam." ".$anaam." <br><a href=\"mailto:".$email."\">".$email."</a><br> <img src=\"".$_FILES['avatar']['name']."\"/><br> ".$time."<br>Uw commentaar:<br>".$comment; echo("<br><a href =\"".$_SERVER["PHP_SELF"] . "\">Nieuw commentaar toevoegen</a>"); } else { echo "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />"; echo "<FONT COLOR=\"#FF0000\">".$error."</FONT> <br><a href =\"".$_SERVER["PHP_SELF"] . "\">Probeer opnieuw</a>"; } } else { // als er niks ingevuld is word het gastenboek weergegeven net als het hoort. ?> |
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 | <head> <title>Gastenboek</title> </head> <body> <h1>Schrijf een bijdrage in ons gastenboek!</h1> <form enctype="multipart/form-data" action="<?php echo($_server["php_self"]);?>" method="post"> <table border = "0"> <tr> <td align="right">Voornaam</td> <td><input type="text" name="vnaam" size='10'></td> </tr> <tr> <td align="right">Achternaam</td> <td><input type="text" name="anaam" size='10'></td> </tr> <tr> <td align="right">E-mailadres</td> <td><input type="text" name="email" size='10'></td> </tr> <tr> <td align="right">Avatar:</td> <td><input type="hidden" name="MAX_FILE_SIZE" value="30000" /><input type="file" name="avatar"></td> </tr> <tr> <td VALIGN="top">Uw bijdrage:</td> <td><textarea name="comment" size="255" rows="8"></textarea></td> </tr> <tr> <td><input type="hidden" name="datum" value="<?php echo(date("Y-m-d H:i:s")); ?>"> </td> <td><input type="Submit" name="Submit" value="Verzenden"<input type="reset" name="Reset" value="Leegmaken"></td> </tr> </table> </form> </table> |
1 2 3 | } ?> |
1 2 | </html> |
je mist het puntquote:Op zondag 11 januari 2009 18:18 schreef Farenji het volgende:
Je moet het plaatje gewoon in de http root opslaan en dan kun je in je html ernaar verwijzen als href="/plaatje.gif".
Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.quote:Op zondag 11 januari 2009 22:30 schreef Roy_T het volgende:
Sterker nog, als het om echt heel veel bestanden gaat kun je beter meer subdirs maken. Voor een applicatie met honderdduizend+ afbeeldingen plaats ik een bestand met de naam igifgarioufglieruhg.jpg daarom in "file/i/g/i/f/igifgarioufglieruhg.jpg"; oftewel subdirs op basis van de eerste 4 karakters van de naam. Als je zoveel bestanden in één dir hebt staan, dan wil dat nog weleens vertragend werken op filesystem niveau.
Bij twee niveau's diep en letters voor het aangeven van de niveau's heb je 148 bestanden per map. Uitgaande van een uniforme verdeling, uiteraard.quote:Op zondag 11 januari 2009 22:42 schreef GlowMouse het volgende:
[..]
Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.
Het is door randomization inderdaad uniform verdeeld. Ik had het over 100.000 plus, de kans is groot dat het er binnenkort een veelvoud van zijn. De details doen er eigenlijk ook niet toe; het was meer een "tip" over architectuur. Of je 2 of 4 niveau's diep wilt gaan kan van meerdere zaken afhangen natuurlijkquote:Op zondag 11 januari 2009 22:42 schreef GlowMouse het volgende:
Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.
Vanaf wanneer gaat zoiets vertragend werken en wat is "vertragend"? Ik zit namelijk ook met tienduizenden afbeeldingen die momenteel nog in één map staan. De honderduizend afbeeldingen is naderend en geen idee hoe zich dit gaat houden als er nog tienduizenden afbeeldingen bij gaan komen. Kan iemand daar iets over zeggen?quote:Op zondag 11 januari 2009 22:30 schreef Roy_T het volgende:
Sterker nog, als het om echt heel veel bestanden gaat kun je beter meer subdirs maken. Voor een applicatie met honderdduizend+ afbeeldingen plaats ik een bestand met de naam igifgarioufglieruhg.jpg daarom in "file/i/g/i/f/igifgarioufglieruhg.jpg"; oftewel subdirs op basis van de eerste 4 karakters van de naam. Als je zoveel bestanden in één dir hebt staan, dan wil dat nog weleens vertragend werken op filesystem niveau.
Ah... oké, dan hoef ik me voorlopig geen zorgen te maken denk ik. Alleen dat laatste (openen in explorer) klopt inderdaad, dat gaat echt rete-traag. Maar dat hoeft gelukkig nooit te gebeuren.quote:Op maandag 12 januari 2009 12:10 schreef GlowMouse het volgende:
Die limieten komen volgens mij meer uit oude filesystems. Tegenwoordig heb je er geen enkel probleem mee, totdat je het mapje opent in bv explorer.
1 2 3 4 5 6 7 8 9 10 11 | sel = document.frm.select1.selectedIndex; if(sel){ document.frm.select2.remove(sel); //document.frm.select2.selectedIndex =0; }else{ document.frm.select2.options[sel] = new Option('???wat te doen????',2); } } |
quote:Op maandag 12 januari 2009 13:28 schreef Likkende_Lassie het volgende:
Even een javascript vraagje, heb het ook al gepost in een javascript voor dummies, maar volgens mij zijn die topics niet heel erg actief
De sitiutatie is als volgt:
- Ik heb meerdere select's op mijn pagina, met precies dezelfde waarde, alleen de naam van select is anders.
- Ik wil, dat zodra er één van de options wordt geselecteerd, in een willekeurige select, dat in elke select (behalve de huidige), de optie verdwijnt. Wordt de optie niet meer geselecteerd, dan moet hij weer overal verschijnen.
Duidelijk?
Dit heb ik al aan code:
[ code verwijderd ]
Eigenlijk zou hij alle select's op de pagina in een array moeten gooien, en vervolgens hier zn ding doen.
Wie o wie!
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 | error_reporting(E_ALL); mysql_connect("localhost", "root", "")or die("mysql_error"); mysql_select_db("opdracht1")or die("mysql_error"); $username = $_SESSION['username']; if (empty($_POST['submit'])) { Weet je zeker dat je je account wilt verwijderen? <br/> <form method="post" action=" $_SERVER['PHP_SELF'] "> Ja <input type="radio" name="accdel" value="ja"> Nee <input type="radio" name="accdel" value="nee"> <br/> <input type="submit" name="submit" value="Verwijder!"/> </form> } else { if ($_POST['accdel'] == "ja") { mysql_query("DELETE FROM `members` WHERE `username` = '".$username."'"); session_destroy(); echo "Uw account is succesvol verwijderd."; } else { header(profiel.php); } } ?> |
SQL Injection maakt niet uit voor dit, het is maar een opgave voor school.quote:Op maandag 12 januari 2009 20:21 schreef GlowMouse het volgende:
mysql_error geeft? SQL injection rekening mee gehouden?
header(profiel.php) is geen geldige PHP-code trouwens.
$username is niet leeg, er staat wel wat in zie ik net via var_dump();quote:Op maandag 12 januari 2009 20:24 schreef Farenji het volgende:
Weet je zeker dat die $username var goed gevuld is? Je vangt de sql errors ook niet af dus als daar wat fout gaat zie je het niet. Maar als $username leeg is dan slaagt de query wel gewoon maar wordt er niks verwijderd.
Je kunt de query gewoon bekijken en zelf uitvoeren en zien wat er gebeurt.quote:Op maandag 12 januari 2009 20:26 schreef Kerol het volgende:
[..]
SQL Injection maakt niet uit voor dit, het is maar een opgave voor school.
mysql_error geeft niets, want er is geen error, de rij wordt in de db gewoon niet verwijderd.
Notice: Undefined index: username in C:\xampp\htdocs\marcc-online\deleteacc.php on line 22quote:Op maandag 12 januari 2009 20:28 schreef GlowMouse het volgende:
[..]
Je kunt de query gewoon bekijken en zelf uitvoeren en zien wat er gebeurt.
Mja hij werkt opeens weer, geen idee wat de fout nou was maar opeens werkt het scriptje weer.quote:Op maandag 12 januari 2009 20:32 schreef GlowMouse het volgende:
En var_dump($_SESSION)? Je bent een regeltje vergeten
1 |
1 |
1 |
Dat dus. En verder zou je genoeg hebben aan:quote:Op dinsdag 13 januari 2009 15:34 schreef GlowMouse het volgende:
De + heeft in een regexp een speciale betekenis en moet je dus escapen.
1 2 3 | preg_match('/\'(.*?)\'/i', "example_text + 'needle';", $matches); ?> |
Dan zou een \ voor de + genoeg moeten zijn, zoals GlowMouse en Farenji aangeven.quote:Op dinsdag 13 januari 2009 15:41 schreef schwa78 het volgende:
Mijn fout. Ik had moeten vertellen dat dat hele "example_text + 'needle';" stuk in een grotere tekst staat.
Ik heb dus die 'needle' nodig en het enige dat ik weet is dat het altijd voorafgegaan wordt door 'example_text + ' en tussen aanhalingstekens staat.
Hoop dat het zo wat duidelijker is.
Kan ik over meespreken heb een grote collectie aan .txt bestandjes van ieder 1.4gig enzoquote:Op maandag 12 januari 2009 12:18 schreef HuHu het volgende:
[..]
Ah... oké, dan hoef ik me voorlopig geen zorgen te maken denk ik. Alleen dat laatste (openen in explorer) klopt inderdaad, dat gaat echt rete-traag. Maar dat hoeft gelukkig nooit te gebeuren.
logbestanden?quote:Op dinsdag 13 januari 2009 17:12 schreef Wouser het volgende:
[..]
Kan ik over meespreken heb een grote collectie aan .txt bestandjes van ieder 1.4gig enzoen als ik de map open duurt het wel eventjes... Maar dat komt meer omdat hij dan euh de auteur en de lengte van het txt bestandje moet ophalen
1 2 | $array = $xml[0][1]; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <ITEM> <ITEM_NAAM>product A</ITEM_NAAM> <ITEM_ID>5123</ITEM_ID> </ITEM> <ITEM> <ITEM_NAAM>product B</ITEM_NAAM> <ITEM_ID>123</ITEM_ID> </ITEM> <ITEM> <ITEM_NAAM>product C</ITEM_NAAM> <ITEM_ID>952</ITEM_ID> </ITEM> </BESTAND> |
dat vind ik ook veel !quote:Op dinsdag 13 januari 2009 22:04 schreef GlowMouse het volgende:
Dan zul je het over nog geen 1000 bestandjes hebben van 1.4 GB/stuk.
Je loopt recursief door de xml tree heen en bouwt ondertussen de array op. Lijkt me vrij recht toe recht aan.quote:Op woensdag 14 januari 2009 00:17 schreef Likkende_Lassie het volgende:
[...]
Als ik bijvoorbeeld echo $array = $xml[1][0]; zou doen, wil ik de NAAM van het 2e item zien...
Volgens mij moet het niet heel erg moelijk zijn, maar iemand misschien enig idee hoe dit in een array te krijgen?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |