dat gaat dus helemaal niet werken, want als ik bij 1 product rank + 1 doe, hoe weet ik dan welk product er dan 1 af moet?quote:Op maandag 19 februari 2007 11:34 schreef Siegfried het volgende:
[..]
Uh, nee.. Gewoon:
UPDATE `tabel` SET `rang` = '3' WHERE `id` = 'GH2122 ' LIMIT 1
UPDATE `tabel` SET `rang` = '2' WHERE `id` = 'GH2138' LIMIT 1
Lijkt mij
quote:Op maandag 19 februari 2007 12:53 schreef veldmuis het volgende:
Ik zou toch graag een iets hardere schop in de goeie richting willen :P.
Van stringmanipulatie en reguliere expressies snap ik niets :@.
Als ik nou de inhoud tussen Waarde1: en </P> zou willen uitlezen, hoe doe ik dat dan? :@.
| 1 2 3 4 5 6 | $inhoud = file_get_contents('bestandsnaam'); $matches = array(); preg_match('#^Waarde1:(.*)</P>#Ui', $inhoud, $matches); echo $matches[1]; ?> |
$matches is in eerste instantie een lege array maar wordt gevuld met strings door de functie preg_match(). Daarna is $matches[1] gelijk aan de eerste subset in de regular expression in preg_match() (als je dat niet snapt maakt het niet uitquote:Op maandag 19 februari 2007 13:04 schreef veldmuis het volgende:
Dank allen! Ik ga verder proberen!![]()
Nou ben ik alleen nog nieuwsgierig wat de [1] achter $matches/$match doet?
Zou dat dan geen [0] moeten zijn?quote:Op maandag 19 februari 2007 13:08 schreef Swetsenegger het volgende:
[..]
^waarde1: betekent toch dat de string daarmee begint?
Mjah, als test. Maar als hij ook waarde2, waarde3 etc wil matchen moet er toch een andere expression komenquote:Op maandag 19 februari 2007 13:08 schreef Swetsenegger het volgende:
[..]
^waarde1: betekent toch dat de string daarmee begint?
Maar het betekent toch ook dat de string er zo uit moet zien: "Waarde1:....." Op het moment dat de string niet met Waarde1 begint matched hij toch niet? dus de ^ moet toch gewoon weg?quote:Op maandag 19 februari 2007 13:12 schreef JeRa het volgende:
[..]
Mjah, als test. Maar als hij ook waarde2, waarde3 etc wil matchen moet er toch een andere expression komen
quote:Op maandag 19 februari 2007 13:15 schreef veldmuis het volgende:
"Call to undefined function preg_match()"
Betekent dat dat m'n PHP de preg_match() niet ondersteunt of dat ik gewoon iets fout doe in de code?.
| 1 2 3 | (PHP 3 >= 3.0.9, PHP 4, PHP 5) |
Je zou denken dat eerste, maar het lijkt me sterk dat je met PHP 3 bezig bentquote:Op maandag 19 februari 2007 13:15 schreef veldmuis het volgende:
"Call to undefined function preg_match()"
Betekent dat dat m'n PHP de preg_match() niet ondersteunt of dat ik gewoon iets fout doe in de code?.
quote:Op maandag 19 februari 2007 13:17 schreef veldmuis het volgende:
PHP Version 5.0.5, maar het zou zomaar kunnen dat het een ERG beperkte PHP is.
Post je code eens dan.quote:Afhankelijkheden
Deze functies zijn beschikbaar als onderdeel van de standaard module die altijd beschikbaar is.
bron
Of het is om een wazige reden zonder pcre gecompiledquote:Op maandag 19 februari 2007 13:16 schreef Swetsenegger het volgende:
[..]
[ code verwijderd ]
Dan zou je php versie onder 3.0.9 moeten liggen en DAT lijkt me niet.
Dat zou eventueel kunnen, voor de size-obsessed compileerders onder ons die denken genoeg te hebben aan de ereg_*-functiesquote:Op maandag 19 februari 2007 13:23 schreef Tiemie het volgende:
[..]
Of het is om een wazige reden zonder pcre gecompiled.
--without-pcre-regex
Ik heb deze gepakt:quote:Op maandag 19 februari 2007 13:19 schreef Swetsenegger het volgende:
[..]
[..]
Post je code eens dan.
| 1 2 3 4 5 6 7 8 | #!/usr/bin/php $inhoud = file_get_contents('test'); $matches = array(); preg_match('#^Waar:(.*)</P>#Ui', $inhoud, $matches); echo $matches[1]; ?> |
Ow, dan is dat het. De reden is ruimtegebrek. Gok ik.quote:Op maandag 19 februari 2007 13:23 schreef Tiemie het volgende:
[..]
Of het is om een wazige reden zonder pcre gecompiled :{ .
--without-pcre-regex
Is het daarmee te doen?quote:Op maandag 19 februari 2007 13:25 schreef JeRa het volgende:
[..]
Dat zou eventueel kunnen, voor de size-obsessed compileerders onder ons die denken genoeg te hebben aan de ereg_*-functies
http://nl2.php.net/manual/nl/function.ereg.phpquote:
Ja dat kanquote:Op maandag 19 februari 2007 13:36 schreef wobbel het volgende:
Kan ik ook een join doen in een delete?
Dus dat ik gegevens verwijder uit 2 tabellen die een relatie met elkaar hebben dmv ID?
Subqueries worden al erg lang door MySQL ondersteund, maar met een DELETE is het gewoon een simpele JOINquote:Op maandag 19 februari 2007 13:45 schreef Geqxon het volgende:
[..]
MySQL en subqueries? Ik leer telkens wat nieuws hier
Ik heb mijzelf in 2004/2005 MySQL aangeleerd, en één van de grote punten was de slechte support voor subqueries. Maar zoals ik al zei: Ik leer hier constantquote:Op maandag 19 februari 2007 13:46 schreef JeRa het volgende:
[..]
Subqueries worden al erg lang door MySQL ondersteund, maar met een DELETE is het gewoon een simpele JOIN
Zo dus:quote:
| 1 2 3 4 5 | FROM SHOP_Products INNER JOIN SHOP_Products_Lang ON ( SHOP_Products_Lang.ProductId = SHOP_Products.IdProduct ) WHERE SHOP_Products.SubcategoryId = '" . $SQL_SID . "' |
Precies. Probeer het eerst uit met SELECT FROM <rest van je query> en als dat werkt gewoon je SELECT FROM vervangen door deletequote:
Interbase (firebird) doet dat ook begreep ikquote:Op maandag 19 februari 2007 14:02 schreef JeRa het volgende:
Overigens, in sommige andere RDBMS'en wordt het bovenstaande gedaan door foreign key constraints met een ON DELETE-clausuleeen ON DELETE CASCADE zorgt er dan voor dat wanneer je een record verwijdert waarna andere records verwijzen, dat dan die andere records ook worden verwijderd. Erg handig als je de database-inhoud consistent wilt houden
PostgreSQL is een goede open source RDBMS die zoiets doet (maar ook de grotere commerciële varianten).
Werkt inderdaad...MAAR!quote:Op maandag 19 februari 2007 12:55 schreef JeRa het volgende:
[..]
1
2
3
4
5
6<?php
$inhoud = file_get_contents('bestandsnaam');
$matches = array();
preg_match('#^Waarde1:(.*)</P>#Ui', $inhoud, $matches);
echo $matches[1];
?>
Vreemd, zou gewoon moeten werken. Geen komma's quotes of andere ongein verkeerd?quote:Op maandag 19 februari 2007 14:20 schreef wobbel het volgende:
Betreffende query: DELETE FROM SHOP_Products INNER JOIN SHOP_Products_Lang ON ( SHOP_Products.IdProduct = SHOP_Products_Lang.ProductId ) WHERE SHOP_Products.SubcategoryId = '1'
MySQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN SHOP_Products_Lang ON ( SHOP_Products.IdProduct = ' at line 3
Inderdaad.quote:Op maandag 19 februari 2007 14:43 schreef JeRa het volgende:
Er zit een verschil in aanroep. In Swetsenegger's voorbeeld wordt er DELETE tabel1.*, tabel2.* FROM ... gedaan
| 1 |
die # is alleen start patroon, mag bijna elk teken zijnquote:Op maandag 19 februari 2007 16:29 schreef veldmuis het volgende:
Hmm, ben eruit intussen.
Ik begrijp dat je moet escapen, maar wat is nou het verschil tussen / en #?
Ik las overal / maar jullie gaven in jullie voorbeeld # aan, en dat werkt dus wel.
eh... niet de zooi parsen maar bewerken?quote:Op maandag 19 februari 2007 17:26 schreef veldmuis het volgende:
Okay, andere vraag.
dmv een shell_exec haal ik met wget het bestand op waar ik de data uit wil halen, dat gaat prima, maar daardoor krijg ik allemaal bagger in de pagina. Kan ik de output die wget geeft ergens anders heen sturen zodat het niet op m'n scherm komt?
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |