abonnement Unibet Coolblue Bitvavo
pi_33840577
Ik heb de volgende tabel
1
2
3
4
5
6
7
8
9
10
11
12
<?php
CREATE TABLE
`last_reacties` (
  `
id` int(6) NOT NULL auto_increment,
  `
ber_id` int(6) NOT NULL default '0',
  `
onderwerp` varchar(35) NOT NULL default '',
  `
tijd` varchar(14) NOT NULL default '',
  `
soort` varchar(20) NOT NULL default '',
  `
IP` varchar(16) NOT NULL default '',
  
UNIQUE KEY `id` (`id`),
  
KEY `ber_id` (`ber_id`)
)
TYPE=MyISAM AUTO_INCREMENT=0 ;
?>


Met de volgende data erin;
1
2
3
4
5
6
7
8
INSERT INTO `last_reacties` VALUES (1, 8, 'Club Arma', '20060108184603', 'evenementen', '82.156.118.119');
INSERT INTO `last_reacties` VALUES (8, 59, 'Toevallig kinderporno downloaden st', '20060108185624', 'nieuws', '82.156.1');
INSERT INTO `last_reacties` VALUES (9, 6, 'Yogurtlu Corba', '20060108185915', 'recepten', '82.156.118.119');
INSERT INTO `last_reacties` VALUES (10, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191002', 'nieuws', '82.156.1');
INSERT INTO `last_reacties` VALUES (11, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191023', 'nieuws', '82.156.1');
INSERT INTO `last_reacties` VALUES (12, 38, 'nieuws', '20060108191131', 'nieuws', '82.156.118.119');
INSERT INTO `last_reacties` VALUES (13, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191216', 'nieuws', '82.156.11');
INSERT INTO `last_reacties` VALUES (14, 60, '''Al-Zarqawi ontsnapt aan Amerikaans', '20060108191526', 'nieuws', '82.156.1');


Ik heb een query om de laatste 10 'inserts' uit te lezen, samengevoegt (GROUP) op ber_id;
1SELECT id, ber_id, onderwerp, soort FROM `last_reacties` GROUP BY ber_id ORDER BY tijd DESC LIMIT 0, 10


Hij leest inderdaad de laatste 10 inserts uit, ook voegt (GROUP) hij het samen op ber_id, maar hij GROUP't ze precies andersom.
Als ik 2 records achter elkaar heb met dezelfde ber_id, dan laat hij de oudste (eerste) record zien, in plaats van de laatste.
Kijk naar id 13 en 14. Hij voegt 10, 11, 13 en 14 samen omdat ze dezelfde ber_id hebben, maar in plaats van 14 te laten zien, laat hij mij 13 zien.

Iemand een beter/juiste query voor me ?
ne okuyon, bokmu var?
pi_33843008
Korte vraag; hoe trekken jullie een leeftijd van de huidige datum af om te checken of iemand ouder is dan 18? ik doe het met dit, maar dit geeft af en toe een error

1
2
3
4
5
6
$eightien = mktime(0,0,0,date("d"),date("m"), date("Y")-18);
                
if (mktime(0,0,0, date("d"), date("m"), date("Y") - 18) > mktime(0,0,0, $_POST['day'], $_POST['month'], $_POST['year']))
{
   // ouder
}


Iemand een idee waar ik de fout in ga?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33843100
Je volgorde van post vars klopt niet;
ie. progseltje:

$birth = mktime(0,0,0,intval($_POST['month']), intval($_POST['day']), intval($_POST['year']));
if(strtotime('+18 years', $birth) > mktime()) {
//te jong.
}

-r-
pi_33852901
Chandler of Roonaan geen oplossing voor mij ? =)
ne okuyon, bokmu var?
pi_33854882
quote:
Op maandag 9 januari 2006 00:09 schreef saban het volgende:
Chandler of Roonaan geen oplossing voor mij ? =)
Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
pi_33854985
quote:
Op maandag 9 januari 2006 01:35 schreef JeRa het volgende:

[..]

Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
Zover ik weet kan je niet ordenen in je group statements toch?

Ik dacht eerst dat hij wel min of max kon gebruiken maar dat gaat alleen op voor tijd. Als hij de message ook wil krijgen wordt dan ingewikkeld. Dit wordt op alfanum gesorteerd.
pi_33856805
quote:
Op zondag 8 januari 2006 19:26 schreef saban het volgende:
Ik heb de volgende tabel
[ code verwijderd ]

Met de volgende data erin;
[ code verwijderd ]

Ik heb een query om de laatste 10 'inserts' uit te lezen, samengevoegt (GROUP) op ber_id;
[ code verwijderd ]

Hij leest inderdaad de laatste 10 inserts uit, ook voegt (GROUP) hij het samen op ber_id, maar hij GROUP't ze precies andersom.
Als ik 2 records achter elkaar heb met dezelfde ber_id, dan laat hij de oudste (eerste) record zien, in plaats van de laatste.
Kijk naar id 13 en 14. Hij voegt 10, 11, 13 en 14 samen omdat ze dezelfde ber_id hebben, maar in plaats van 14 te laten zien, laat hij mij 13 zien.

Iemand een beter/juiste query voor me ?
ik gebruik deze op de weblog om de laatste (in mijn geval unieke) reacties te laten zien:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SELECT 
    r.site_id, 
    b.header,
    MAX(r.time) AS tijd
FROM 
    b JOIN reacts AS r ON (b.id = r.site_id)
WHERE 
    r.status = 'active'
AND 
    b.status = 'active'
AND 
    r.time > (UNIX_TIMESTAMP() - 259200)
GROUP BY
    r.site_id, b.header
ORDER BY 
    `tijd` DESC
LIMIT 
   0 , 8
pi_33857595
quote:
Op maandag 9 januari 2006 01:35 schreef JeRa het volgende:

[..]

Ik snap je vraag wel, maar je voorbeeld van een fout niet. Je hebt het over id's 10, 11, 13 en 14 waarvan 10 de oudste is (zover ik kan zien). Toch zeg je dat ie 13 teruggeeft?
Waarom is id 10 het oudste ? Ik sorteer op tijd, en id 14 heeft het hoogste waarde (20060108191526), maar hij geeft helaas id 13 terug.
ne okuyon, bokmu var?
pi_33857673
Nu ik er even over nadenk, is dit ook mogelijk

1
2
3
4
5
SELECT id, ber_id, onderwerp, soort
FROM `last_reacties` 
GROUP BY onderwerp
ORDER BY id DESC 
LIMIT 0 , 10 


Maar weer laat hij geen id 14 zien, en wel id 13.
ne okuyon, bokmu var?
pi_33857744
Kun je niet de query gebruiken die rickmans aanbiedt?

En ik snap 'm nu wel weer, het komt er op neer dat je geen ORDER kunt doen vóór een GROUP BY om zo de groepering aan te passen. Je kunt ORDER wel gebruiken om de resultset aan te passen though. Gebruik de MAX()-(group)functie om de hoogste waarde te vinden
pi_33859556
even een snel vraagje.

ik heb een $row->Date van zo'n 20-25 chars. Ik wil alleen de 1e 10 chars laten zien. Ik dacht dat dat kon met echo $row->Date{0,10} maar dat lijkt niet te werken. ik heb hier eventueel wel n wat uitgebreidere functie voor, maar ik dacht dat het ook op deze manier kon.

Ik heb t fout zeker
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33859584
substr($row->Date,0,10);

?
pi_33859759
tx
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33861721
quote:
Op maandag 9 januari 2006 09:09 schreef JeRa het volgende:
Kun je niet de query gebruiken die rickmans aanbiedt?

En ik snap 'm nu wel weer, het komt er op neer dat je geen ORDER kunt doen vóór een GROUP BY om zo de groepering aan te passen. Je kunt ORDER wel gebruiken om de resultset aan te passen though. Gebruik de MAX()-(group)functie om de hoogste waarde te vinden
Ik gebruik nu de MAX functie, het werkt al iets beter, maar nog steeds niet 'bug-loos'. Helaas ben ik onbekend met JOINS.
ne okuyon, bokmu var?
pi_33863189
quote:
Op maandag 9 januari 2006 12:21 schreef saban het volgende:

[..]

Ik gebruik nu de MAX functie, het werkt al iets beter, maar nog steeds niet 'bug-loos'. Helaas ben ik onbekend met JOINS.
Hier heb je geen JOIN voor nodig. Ik heb je tabel geprobeerd en ik merk op dat je het veld 'tijd' als een VARCHAR opslaat. Dit type werkt niet zo geweldig met de MAX()-functie. Beter sla je die tijd op als een Unix Timestamp (epoch), dit is het aantal seconden vanaf 1 januari 1970. Deze kun je in MySQL opvragen als UNIX_TIMESTAMP() en neemt als UNSIGNED INT maar 4 bytes in beslag, dit in tegenstelling tot jouw huidige veld dat een veelvoud van dat inneemt.

Als je een Unix timestamp als veld gebruikt kun je wél die MAX() gebruiken dan ziet je query er zo uit:

1
2
3
4
5
SELECT id, ber_id, onderwerp, MAX( tijd ) AS mtijd, soort, IP
FROM last_reacties
GROUP BY ber_id
ORDER BY mtijd DESC
LIMIT 0 , 10
pi_33864749
Super simpele vraag misschien, maar ik kom ergens niet uit.

Ik heb een dir met daarin een 3tal bestanden.
index.php hoofdpagina, met alle opmaak
config.inc.php include file met allemaal variabelen met settings, geinclude in index.php
functions.inc.php include file met allemaal functies die gebruik maken van de variabelen uit config.inc.php, geinclude in index.php

Als ik bovenstaande doe, dan zijn de waardes van de variabelen leeg. De functies nemen de variableen niet over die gedefinieerd staan in config.inc.php. Hoe regel ik dat zij dat wel overnemen? Iets global oid maken?
pi_33864827
In principe zou je die variabelen mee moeten geven bij de functie aanroep als argumenten. Als dat echt niet mogelijk is, zou je kunnen overwegen om define() te gebruiken als het constanten betreft, of als het écht niet anders kan onderstaande te gebruiken:
1
2
3
4
5
<?php
function ugly() {
  GLOBAL
$uncleFester, $causinIt;
}
?>


-r-
pi_33864901
global gebruiken is toch vies? of mag dat tegenwoordig wel?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33865144
quote:
Op maandag 9 januari 2006 14:12 schreef Ro�a� het volgende:
In principe zou je die variabelen mee moeten geven bij de functie aanroep als argumenten. Als dat echt niet mogelijk is, zou je kunnen overwegen om define() te gebruiken als het constanten betreft, of als het écht niet anders kan onderstaande te gebruiken:
[ code verwijderd ]

-r-
thnx

ik definieer bv in config.inc.php het eerste woord dat na de url komt (www.example.org/woord/)
Als ik het niet global maak, moet ik iedere keer in een functie opnieuw de string uitlezen, choppen en er een var van maken. Vind ik minder handig. Zie je daar een alternatief voor?
pi_33865369
quote:
Op maandag 9 januari 2006 14:09 schreef ToBe het volgende:
Super simpele vraag misschien, maar ik kom ergens niet uit.

Ik heb een dir met daarin een 3tal bestanden.
index.php hoofdpagina, met alle opmaak
config.inc.php include file met allemaal variabelen met settings, geinclude in index.php
functions.inc.php include file met allemaal functies die gebruik maken van de variabelen uit config.inc.php, geinclude in index.php

Als ik bovenstaande doe, dan zijn de waardes van de variabelen leeg. De functies nemen de variableen niet over die gedefinieerd staan in config.inc.php. Hoe regel ik dat zij dat wel overnemen? Iets global oid maken?
Er zijn meerdere opties.

1. Zet heb in de globals array: $GLOBALS['Varname'] = "Tralala";

2. Gebruik define, zodat het een constante wordt: DEFINE(VAR, "Tralala");

3. Maak hem global in de functie:

function Foo() {
global $var;

echo $var;
}

Het mooiste is inderdaad gewoon om hem mee te geven aan de functie. Dat houdt je functie ook clean.
pi_33865381
$parts = explode('/', $_SERVER['QUERY_STRING']);
define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');

if(WOORD1 == 'woord') {
}

-r-
pi_33865537
quote:
Op maandag 9 januari 2006 14:27 schreef Ro�a� het volgende:
$parts = explode('/', $_SERVER['QUERY_STRING']);
define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');

if(WOORD1 == 'woord') {
}

-r-
Thnx peeps, ik neem het mee in overweging. Even spelen wat ik het lekkerst vind
pi_33865541
quote:
Op maandag 9 januari 2006 14:27 schreef Ro�a� het volgende:
$parts = explode('/', $_SERVER['QUERY_STRING']);
define('WOORD1', isset($parts[0]) ? $parts[0] : 'default');

if(WOORD1 == 'woord') {
}

-r-
Ehm, ik weet niet of het zo'n briljant plan is om misbruik te maken van constanten. Constanten horen constant te zijn, en niet variabel nu definiëer je een 'constante' die elke request anders is, daar is natuurlijk weinig constant aan en is mijns inziens nogal vies.

Beter geef je voor een functie de benodigde variabelen via de parameters door, eventueel via een volledig $config-object.
pi_33865720
quote:
Op maandag 9 januari 2006 14:32 schreef JeRa het volgende:

[..]

Ehm, ik weet niet of het zo'n briljant plan is om misbruik te maken van constanten. Constanten horen constant te zijn, en niet variabel nu definiëer je een 'constante' die elke request anders is, daar is natuurlijk weinig constant aan en is mijns inziens nogal vies.

Beter geef je voor een functie de benodigde variabelen via de parameters door, eventueel via een volledig $config-object.
Ja en nee. Ik vind het beter dan het overbodig rondslingeren van ellenlange argumentlijsten omdat een serie telkens terugkeerende runtime sermi-constanten mee te geven.
Doe jij dan nooit:
define('LANG', @$_REQUEST['lang'] == 'nl' ? 'nl' : 'en');
Of soortgelijk?

-r-
pi_33865822
quote:
Op maandag 9 januari 2006 14:37 schreef Ro�a� het volgende:

[..]

Ja en nee. Ik vind het beter dan het overbodig rondslingeren van ellenlange argumentlijsten omdat een serie telkens terugkeerende runtime sermi-constanten mee te geven.
Doe jij dan nooit:
define('LANG', @$_REQUEST['lang'] == 'nl' ? 'nl' : 'en');
Of soortgelijk?

-r-
Nee, alleen voor échte constanten waarvan ik niet verwacht dat ze binnen afzienbare tijd zullen veranderen doe ik op die manier. Voor de rest doe ik het zo (voorbeeldje):

$config = array();
...
$config['charset'] = 'iso-8859-15';
$config['lang'] = (getCookie('lang') == 'nl') ? 'nl' : 'en';
...
doSomething($config);

Of heel eventueel, als ik de parameters zat ben, dit:

function doSomething()
{
global $config;
//etc
}
pi_33869581
quote:
Op maandag 9 januari 2006 13:12 schreef JeRa het volgende:

[..]

Hier heb je geen JOIN voor nodig. Ik heb je tabel geprobeerd en ik merk op dat je het veld 'tijd' als een VARCHAR opslaat. Dit type werkt niet zo geweldig met de MAX()-functie. Beter sla je die tijd op als een Unix Timestamp (epoch), dit is het aantal seconden vanaf 1 januari 1970. Deze kun je in MySQL opvragen als UNIX_TIMESTAMP() en neemt als UNSIGNED INT maar 4 bytes in beslag, dit in tegenstelling tot jouw huidige veld dat een veelvoud van dat inneemt.

Als je een Unix timestamp als veld gebruikt kun je wél die MAX() gebruiken dan ziet je query er zo uit:
[ code verwijderd ]
Dan moet ik waarschijnlijk heel mijn database structuur ombouwen. Of ik moet het omslachtig doen door een extra tabel te maken met enkel de laatste reacties, gebaseerd op jou code.
ne okuyon, bokmu var?
pi_33901221
ik las ergens iets over serverload qua processorusage en memusage. hoe tjek ik dat bij n eigen script?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33901664
mem_get_usage() dacht ik. processor power weet ik niet.
  dinsdag 10 januari 2006 @ 14:04:30 #129
65471 SkaterSam
Lurking Galore
pi_33901821
Verdorie mijn script wil een while loop niet laten werken...

1
2
3
4
5
6
7
8
9
10
$db->query("SELECT * FROM nieuws WHERE n_status = 'visible' ORDER BY n_id DESC");
if (mysql_num_rows($db->resultaten) <= 0) {
   ?>
   <h2>Geen resultaten</h2>
   <p>
      Er zijn geen resultaten gevonden in de database
   </p>
   <?php
} else {
   while ($nieuws = $db->fetch()) { //loop hier }

Nu krijg ik dus de hele tijd maar 1 resultaat in plaats van de 5 die er moeten zijn, ligt dit aan mijn query? In een ander script werkt een soortgelijke query met while loop namelijk wel.

En een tweede vraag is hoe je de eerste vijftig woorden van een tekstbericht kan halen? Moet dat zo:

1
2
3
$bericht = explode(' ', $nieuws['nieuws']);
//echo het resultaat
echo substr(implode(' ', $bericht), 0, 50);

Maar dan krijg ik alleen de eerste 50 woorden...
Let's make life easy
Typo's are the demon spawn from hell !
pi_33902128
je wijst geen nieuwe data toe aan $db in de while loop?

ik ken verder het principe wat je gebruikt niet.
probeer anders dit eens:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query
= "SELECT * FROM nieuws WHERE n_status = 'visible' ORDER BY n_id DESC";
$result = mysql_query($query);
if (
mysql_num_rows($db-&gt;resultaten) &lt;= 0) {
   
   &
lt;h2&gt;Geen resultaten&lt;/h2&gt;
   &
lt;p&gt;
      
Er zijn geen resultaten gevonden in de database
   
&lt;/p&gt;
   
php
} else {
while (
$nieuws = mysql_fetch_object($result)){ // loop hier }
?>
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_33902425
Ik heb een vraag over mysql en database design. Ik heb al een paar keer een simpele website gebouwd waar ik de data gewoon uit een tabellteje kon halen maar volgens mij moet het deze keer anders.

Ik zal even uitleggen wat ik wil:
Een website met een CMS waarin de gebruiker data kan toevoegen. Het CMS moet heel simpel zijn en dus eigenlijk gewoon een formulier waar de tekst in staat, de gebruiker kan het aanpassen maar niks met de layout doen. Dmv van CSS wordt vervolgens de layout bepaalt. Alleen hebben we daarnaast een linkjes overzicht, een nieuws pagina en een rapporten overzicht.

De nieuwspagina is anders omdat die ook in RSS moet worden uitgelezen. Nou vraag me af hoe kan ik dit het beste aanpakken, welke database opbouw werkt het snelst en zorgt ervoor dat ik zo min mogelijk php code nodig heb.

En daarnaast, wat is het meest flexibel, als ik in de toekomst nog een bijzondere pagina wil toevoegen (nv fotooverzicht) welke manier van database opbouw is dan het makkelijkst voor mij.

In de database komen de volgende onderdelen:
Normale tekst -titel - tekts
Nieuws -titel-beschrijving-tekst-datum
Linkjes --URL- beschrijving
Rapporten -naam-nummer -datum-URL (link naar het rapport)

En voor de website heb ik nog -menu nodig

Ik hoop dat iemand mij kan helpen hoe ik dit het beste kan oplossen!
Alvast bedankt
  dinsdag 10 januari 2006 @ 14:37:21 #132
65471 SkaterSam
Lurking Galore
pi_33903161
quote:
Op dinsdag 10 januari 2006 14:12 schreef Desdinova het volgende:
je wijst geen nieuwe data toe aan $db in de while loop?
Ja, wel dus , ik gebruik een tweede $db->query in de while loop om de categorie te achterhalen, nu heb ik dat verandert in een normale query ($ret = mysql_query($query)), en dan doet ie het wel?

Ik kan dus niet nog een keer $db->query doen in de while loop?
Let's make life easy
Typo's are the demon spawn from hell !
pi_33903425
nee
want dan raaktie je while-gegevens kwijt ofzo.

[edit]
k snap waarom

ff met mijn code, zodat ik t zelf snap.

1
2
3
4
5
6
7
8
<?php
$query
= "SELECT * FROM a WHERE b = 'c'";
$result = mysql_query($query);

while (
$row = mysql_query($result)){
//loop
}
?>


als je de query wijzigt in de loop, wijzigt $result ook. en die roeptie op bij de while.
en daar gaat het dus fout

[ Bericht 87% gewijzigd door Desdinova op 10-01-2006 14:55:24 ]
As a rule, I never touch anything more sophisticated and delicate than myself.
  woensdag 11 januari 2006 @ 13:28:21 #134
64276 9christensen
Grolsch bier is gezond
pi_33936214
Ik zoek een makkelijk phpscript waarmee ik een gastenboek kan maken. In dit gastenboek wil ik dat je berichten kunt quoten. Ik heb al op veel scriptsites gezocht, maar ben nog niet iets tegen gekomen.
Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
[b]Enschede![/b]
pi_33936588
quote:
Op woensdag 11 januari 2006 13:28 schreef 9christensen het volgende:
Ik zoek een makkelijk phpscript waarmee ik een gastenboek kan maken. In dit gastenboek wil ik dat je berichten kunt quoten. Ik heb al op veel scriptsites gezocht, maar ben nog niet iets tegen gekomen.
Zoek een gastenboek op welke met Mysql werkt,

voeg er onder elke berichtje een quote-knopje toe waarin je de bericht ID naar het formulier doorspeelt

Zoek vervolgens het bericht op in de database aan de hand van dat IDnummer, zet er quote-tags omheen en voeg een preg_expr toe welke van [quote] > <blockquote> maakt oid.
  woensdag 11 januari 2006 @ 14:08:23 #136
64276 9christensen
Grolsch bier is gezond
pi_33937314
quote:
Op woensdag 11 januari 2006 13:40 schreef the_disheaver het volgende:

[..]

Zoek een gastenboek op welke met Mysql werkt,

voeg er onder elke berichtje een quote-knopje toe waarin je de bericht ID naar het formulier doorspeelt

Zoek vervolgens het bericht op in de database aan de hand van dat IDnummer, zet er quote-tags omheen en voeg een preg_expr toe welke van [quote] > <blockquote> maakt oid.
mja, zo slim ben ik nog niet met php.

ik zoek eigenlijk naar een scriptje dat alles al doet.
Het is het eindpunt van de trein, bijna geen mens hoeft er te zijn, bijna geen hond gaat zover mee:
[b]Enschede![/b]
  woensdag 11 januari 2006 @ 14:51:48 #137
111578 tsjsieb
but not cheap...
pi_33938728
quote:
Op woensdag 11 januari 2006 14:08 schreef 9christensen het volgende:

[..]

mja, zo slim ben ik nog niet met php.

ik zoek eigenlijk naar een scriptje dat alles al doet.
Misschien kun je naar smartisoft phpBook kijken, deze heb ik vroeger ooit eens gebruikt.
Ik geloof dat ie toen alleen niet helemaal perfect met firefox werkte, maar dat zou je zelf even moeten proberen.
pi_33939196
hoe installeer ik die verpauperde PEAR-packages, via de CLI lukt het niet.

gebruik trouwens voor het gemak PHPdev met php 4.3 erbij, bij wie is het hiermee wel gelukt? Bij het openen van mijn php-cli.exe en php.exe krijg ik een 'php4ts.dll niet gevonden' fout

Man ik ben 90% van de tijd kwijt met dingen instellen en aanpassen van de localhostinstellingen.


1
2
3
4
5
6
7
8
9
10
11
12
Error


Sorry! PEAR_Frontend_Web is not yet compatible

with PEAR 1.4.x. A new version will be available soon.

Until then, you may install the CLI version of PEAR,

or grab the CVS version of PEAR_Frontend_Web via

anonymous CVS (WARNING: experienced developers only)


Wat moet ik hiermee, zoals ik dus al zei ben ik er al een tijdje mee bezig geweest.. maar ben ik helemaal niet van dat instellinggepriegel en meer van het scriptwerk zelf.
Wie helpt me uit de brand of heeft wat tips?

[ Bericht 32% gewijzigd door Fatality op 11-01-2006 19:42:23 ]
  woensdag 11 januari 2006 @ 19:29:29 #139
37634 wobbel
Da WoBBeL King
pi_33947814
Ik heb een DB met allerlei downloads met als titel 3532526_hierbestands_datum_dag.doc

Hoe zorg ik ervoor dat ALLEEN alles voor de eerste _ wordt verwijderd? In dit geval dus alle nummers voor de eerste _.

alle overige _ enzo mogen wel blijven staan
pi_33949196
Iets dergelijks? Niet getest.

1$titel = substr( $titel, strpos( $titel, "_" ) + 1 );
pi_33949709
quote:
Op woensdag 11 januari 2006 19:58 schreef Nevermind het volgende:
Iets dergelijks? Niet getest.
[ code verwijderd ]
offe:
1
2
array = explode ("_", $bestandsnaam");
$nieuw_bestandnaam = $array[1]."_".$array[2]."_".$array[3];

Moet wel werken, maar niet getest. De vorige lijkt me netter.
pi_33949799
quote:
Op woensdag 11 januari 2006 20:10 schreef the_disheaver het volgende:

[..]

offe:
[ code verwijderd ]

Moet wel werken, maar niet getest. De vorige lijkt me netter.
Dan zou ik wel iets als dit doen, iets flexibeler;

1
2
3
$array = explode( "_", $titel );
unset( $array[0] );
$titel = implode( "_", $array );


Maar goed, waarom moeilijk doen als het makkelijk kan
  woensdag 11 januari 2006 @ 21:17:35 #143
51748 H4ze
wait...what?
pi_33952101
SQL vraagje...

Kan het kloppen dat het niet mogelijk is om in 1 DELETE statement gegevens uit meerdere tabellen te verwijderen?
*BURP*
pi_33953997
Check the manual het is dus wel degelijk mogelijk om met één DELETE-statement rows uit meerdere tabellen te verwijderen.
pi_33958409
Ik probeer een XML bestand te parsen, wat opzich goed gaat, maar ik val over een paar dingen.

Ik moet oa informatie hebben die tussen <description>-tags staat. Dit lukt, maar als er tussen de start en eindtag witregels worden gebruikt, pakt de parser het maar tot de witregel.

Dus
1
2
3
<description>BlaBla

123!!</description>

Levert als output alleen 'BlaBla'. Een nl2br(); lost hierbij niks op,

Daarnaast is er ook een probleem als er een < of >-teken wordt gebruikt (bijvoorbeeld als er een link is opgenomen in de description, of een <b>-tag). De parser stopt dan ook op dit punt. De tags staan er trouwens niet hard in, maar in hun html-entity-waarde, dus &l_t en >. Dit geldt ook voor tekens als apostrof (') enzo, maar die kan ik er uitvissen met een ereg_replace:
1$data = ereg_replace("&apo_s","'",$data);

Doe ik dit echter bij de < en >-tekens, krijg ik deze error:
quote:
XML error: not well-formed at line xxx
Die line xxx is overigens de eerste lijn in de xml-file waar zo'n <-teken staat.

Als laatste puntje heb ik een probleem om de inhoud van een tag met een namespace-verwijzing daarin te pakken te krijgen. In dit geval de tag <lj:mood>. Ik begreep uit documentatie dat die namespace slechts ter identificatie dient en je gewoon op de tag zonder de namespace kan zoeken. Dus in dit geval <mood>. Helaas blijft mijn variabele waarin de inhoud van de tag zou moeten staan dan leeg .

Iemand suggesties? Ik blijf zelf ook dingen proberen natuurlijk, als ik antwoorden heb post ik ze hier .

In de voorbeelden hier heb ik die html-entities wat aangepast, want anders worden ze als teken neergezet door Replikk. In mijn echte code staan ze goed, dus zonder underscore en met punt-komma.

De code van mijn parser.
Die Welt ist alles was der Fall ist.
pi_33959595
quote:
Op woensdag 11 januari 2006 15:05 schreef Fatality het volgende:
hoe installeer ik die verpauperde PEAR-packages, via de CLI lukt het niet.

gebruik trouwens voor het gemak PHPdev met php 4.3 erbij, bij wie is het hiermee wel gelukt? Bij het openen van mijn php-cli.exe en php.exe krijg ik een 'php4ts.dll niet gevonden' fout

Man ik ben 90% van de tijd kwijt met dingen instellen en aanpassen van de localhostinstellingen.
[ code verwijderd ]

Wat moet ik hiermee, zoals ik dus al zei ben ik er al een tijdje mee bezig geweest.. maar ben ik helemaal niet van dat instellinggepriegel en meer van het scriptwerk zelf.
Wie helpt me uit de brand of heeft wat tips?
ok klaar. heb het gefixt en het loopt.

Weet iemand een online digitale dictionary ofzo? Ik volg soms de Engelse digiterminologie niet volledig.
pi_33960207
freetranslation.com?
  donderdag 12 januari 2006 @ 00:19:10 #148
32768 DionysuZ
Respect my authority!
pi_33960782
babelfish.altavista.com
□ Reality is merely an illusion,albeit a very persistent one-A.Einstein
■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
□ The war is not meant to be won.It is meant to be continuous-G.Orwell
  FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 16:46:27 #149
1972 Swetsenegger
Egocentrische Narcist
pi_33978661
Even een situatie schtes.

Ik heb een aantal zinnen in een exel sheet
Deze exel sheet wordt in 9 talen vertaald

Vervolgens moeten deze zinnen in een txtfile komen waarbij de newline vervangen wordt door een ~ en alle html entities moeten vervangen worden door hun daadwerkelijk entitie (& uuml;, etc)

Ok, daar heb ik een prachtig scriptje voor geschreven. Zodra ik mijn vertaalde exel sheetje heb binnen gekregen, plak ik de kolom in een txtfile. Upload de txtfile mijn scriptje in, en hij komt er geconverteerd uitrollen.

Maar...... Helaas helaas zijn sommige teksten javascript alerts en confirms. En daar moeten entities vervangen worden door unicode (\u00f9, etc).

Nu wil ik mijn script dus aanpassen dat ik de txtfile kan uploaden (zoals ik nu al doe) en een aantal nummers kan intikken van de zinnen welke unicode moeten worden ipv html entities. Vervolgens moet ik DIE specifieke nummers in mijn file array doorzoeken op html entities zoals ø en vervangen door unicode.

Lange inleiding, maar het gaat nu om dit laatste. Ik heb een array met nummers, bv 10, 11, 13, 18.
Die nummers staan gelijk aan de regels in mijn txt file voordat de newlines zijn vervangen door ~
Die regels moet ik dan stuk voor stuk gaan doorzoeken op ß, à, á en vervangen door hun unicode equivalent \u00DF, \u00E0, \u00E1.

Hoe ga ik dat laatste aanpakken? Een array waarbij de key de entity is en de value de unicode. En indien de key voorkomt in de array welke ik doorzoek, deze swappen met de value?

Het huidige script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<html>
<head>
<title>Linebreak to tilde convertor</title>
<script type="text/javascript">
function getPath() {
   document.myForm.path.value = document.myForm.file.value;
}
</script>
<?php
if(isset($_POST['submit'])){
    $path=stripslashes($_POST['path']);

$document=file("{$_FILES['file']['tmp_name']}");
foreach($document as $lines){
  $lines=str_replace("\n",'~',$lines);
}
$document=implode("~",$document);
$document=str_replace("\r\n",'',$document);
$document=htmlentities($document);

//referer schrijven naar bestand

$fp=fopen("$path",'w+');

      fwrite($fp,"$document");
      fclose($fp);
}

?>
</head>
<body>
<?
if(!empty($document)){
echo "$document";
}else{
?>
LET OP: De te converteren files moeten op de desktop staan ivm rechten
<form name="myForm" onsubmit="getPath()" enctype="multipart/form-data" action="convertor.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /></p>
<input type="hidden" name="path" value="">
<p>Textfile: <input name="file" type="file" /></p>
<input type="submit" name="submit" value="convert" />
<?}?>
</form>
</body>
</html>
pi_33979464
Je voegt een textveld toe aan je form waarin je in 1,2,3,4-format de regels aangeeft, vervolgens vervang je je php stuk:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$unicode_lines = explode(',', $_POST['unicodelines']);

$output = '';
foreach($document as $line_number => $line){
  if(in_array($line_number + 1, $unicode_lines)) {
    $output .= unicode_functie(trim($line)).'~';
  } else {
    $output .= htmlentities(trim($line)).'~';
 }
}

$f = fopen($path,'w');
fwrite($f, $output);
fclose($f);


Zoiets ongeveer?
  FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 17:14:58 #151
1972 Swetsenegger
Egocentrische Narcist
pi_33979764
quote:
Op donderdag 12 januari 2006 17:06 schreef Ro�a� het volgende:
Je voegt een textveld toe aan je form waarin je in 1,2,3,4-format de regels aangeeft, vervolgens vervang je je php stuk:
[ code verwijderd ]

Zoiets ongeveer?
De vraag was meer hoe ik die unicode_functie schrijf
Overigens heb je hier ook niet implode toch?
pi_33980050
Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
  FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 17:28:53 #153
1972 Swetsenegger
Egocentrische Narcist
pi_33980304
quote:
Op donderdag 12 januari 2006 17:22 schreef Ro�a� het volgende:
Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
Ik zie er inderdaad wel het een en ander tussen staan.
Bedankt!
pi_33981806
Ik gebruik al een tijd een manier om mysql hacks tegen te gaan..
1
2
3
4
5
6
7
8
9
10
11
function mysql_text($in)
{
    $remove = array("select ", "insert ", "update ", "delete ", "drop ", "'", "union ", "--");

    foreach ($remove as $key)
    {
        $in = str_replace($key, "", $in);
    }

    return addslashes($in);
}


maar denk dat dit niet de meest handige manier is... iemand een ander idee?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33982141
Wat voor MySQL hacks wil je tegengaan? Ik neem aan dat je niet zomaar een mysql_query() uitvoert op user input?

De beste manier is je user input vailderen en op de juiste manier in een query te zetten:

1
2
3
4
$getal = intval($_GET['userGetal']);
$string = trim($_GET['userString'];

$result = mysql_query('SELECT FROM `tabel` WHERE `getal` = ' . $getal . ' AND `string` = \'' . mysql_real_escape_string($string) . '\'');

In plaats van mysql_real_escape_string() kun je ook addslashes() gebruiken, maar die houdt geen rekening met de collation van de database.
pi_33985218
collation? kun je dat nog even uitleggen?
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_33985425
quote:
Op donderdag 12 januari 2006 19:41 schreef Chandler het volgende:
collation? kun je dat nog even uitleggen?
Dat is de character set van een database, tabel of kolom in latere versies van MySQL (vanaf 4 geloof ik, en die is stable). Zie ook deze pagina voor een betere uitleg
  FOK!-Schrikkelbaas donderdag 12 januari 2006 @ 22:08:18 #158
1972 Swetsenegger
Egocentrische Narcist
pi_33992568
quote:
Op donderdag 12 januari 2006 17:22 schreef Ro�a� het volgende:
Moet je even bij http://nl2.php.net/ord, staat in de comments redelijk wat over uniord.
Hier staat wel het een en ander, maar gaat veel te ver voor wat ik nodig heb, en is ook niet simpel te verbouwen tot wat ik nodig heb.

Ik hou eigenlijk 1 probleem over. Hoe vind ik in een string een htmlentitie ZONDER dat deze gelijk omgezet wordt naar z'n entity.

Kortom, hoe vind ik ä, zonder dat deze direkt omgezet wordt naar & auml;.

1
2
3
$str='hülp';
$entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES);
foreach ($entities as $entity){


Ok, nu moet ik dus door de string stappen en ALS een karakter een entitie is, moet ik 'm omzetten naar ord(het karakter)

met strstr etc kom ik er niet. Die geven alles terug VANAF de gevonden entity .

-edit- stuk verder

1
2
3
4
5
6
7
8
9
$str='hülp';
$entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES);
foreach ($entities as $entity){
    $pos=strpos($str,$entity);
    $char='\u00'.dechex(ord(substr($str,$pos+1,1)));
    $str=str_replace($entity,$char,$str);
}

echo $str;


output hülp ipv h\u00fclp

je moet natuurlijk wel op de key's van de $entities array checken

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$str='hülp ü';
$entities = get_html_translation_table(HTML_ENTITIES,ENT_NOQUOTES);
foreach ($entities as $entity => $value){
    $pos=strpos($str,$entity);
    if($pos!==false){
        $char='\u00'.dechex(ord(substr($str,$pos,1)));
        $str=str_replace($entity,$char,$str);
    }
}

echo $str;

?>


[ Bericht 22% gewijzigd door Swetsenegger op 12-01-2006 22:44:50 ]
pi_34037392
In mysql.

Wanneer je ergens sorteert met ASC

Dan zou een waarde 0 toch boven de waarde 1 moeten staan?

Nu staat het als volgt:
1
1
0
0
10
10

Lijkt me niet de juiste volgorde (btw: er staat 0, geen NULL)
pi_34040456
quote:
Op zaterdag 14 januari 2006 01:49 schreef the_disheaver het volgende:
In mysql.

Wanneer je ergens sorteert met ASC

Dan zou een waarde 0 toch boven de waarde 1 moeten staan?

Nu staat het als volgt:
1
1
0
0
10
10

Lijkt me niet de juiste volgorde (btw: er staat 0, geen NULL)
normaal gesproken wel, hoe ziet je table eruit en hoe ziet je query er exact uit? Het is nooit zonder reden dat iets niet gaat zoals je het verwacht.
pi_34041289
quote:
Op zaterdag 14 januari 2006 07:39 schreef rickmans het volgende:

[..]

normaal gesproken wel, hoe ziet je table eruit en hoe ziet je query er exact uit? Het is nooit zonder reden dat iets niet gaat zoals je het verwacht.
Dat laatste zal wel het geval zijn. Het is een forum waar ik ff wat wou toevoegen, maar met een vreemd resultaat.

Ik ga het wel ff testen in phpmyadmin,
pi_34042041
Bovenstaande klopt niet geheel, maar de volgorde is in ieder geval niet juist. Maar 1 van de kolomnamen is 'open'. In phpmyadmin lijkt het net dat hij die open als een aparte functie ziet (er wordt een nieuwe regel geopend, en heeft dezelfde stijl als 'SELCET', 'WHERE' enzo). Wel is het in klein capitaal ingevoerd. Kan dit er iets mee te maken hebben?

1
2
3
4
5
6
7
SELECT icon.title AS icontitle, icon.iconpath, thread.threadid,
 thread.title, lastpost, forumid, pollid, open , replycount, postusername,
 postuserid, lastposter, thread.dateline, views, thread.iconid, notes,
 thread.visible, sticky, votetotal, attach
FROM thread
LEFT JOIN icon ON ( icon.iconid = thread.iconid ) 
ORDER BY sticky DESC , open DESC 


Hoe hij zou moeten sorteren is:
sticky DESC (waardes 1 bovenaan, 0 onderin)
vervolgens op OPEN
waardes 1 bovenin
waardes 0 onderin.
waardes 10 onderin of als 1 gesorteerd.
(open=10 zijn alle verplaatste topics. Het mooiste zou zoals het nu is dat ze gewoon tussen de open=1 (normale open topics) staan, en gesorteerd op tijd.
Eventueel zouden ze ook onderin mogen.

Kan ik ook iets sorteren via een andere volgorde dan ASC of DESC? (dus een eigen sorteerindex bepalen)

[ Bericht 7% gewijzigd door the_disheaver op 14-01-2006 11:29:55 ]
pi_34042118
Zet dan backticks om `open` heen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_34042307
quote:
Op zaterdag 14 januari 2006 11:28 schreef SuperRembo het volgende:
Zet dan backticks om `open` heen.
Dank, dat geeft een logische volgorde aan.

maar dan de vervolgvraag (zie edit) kan ik ook een eigen sorteerindex maken, anders dan ASC of DESC zodat hij sorteert
1
1
0
0
10
10

Of misschien dat hij waardes met een 0 onderin zet, en waardes groter dan 0 bovenin?

Of moet je daarvoor phpcode voor gaan toevoegen?
pi_34042749
nee daarvoor hoef je geen phpcode toevoegen maar zou zeggen dat je sorteer index nooit een 0 is.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_34043225
@the_disheaver:
Ik dacht dat je probleem was dat de sorteervolgorde 1, 0, 10 werd. Maar het probleem is dus dat je wil dat de sorteervolgorde 1, 0, 10 wordt, maar dat je niet weet hoe je dat moet doen.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_34043342
1
2
3
4
5
6
7
8
ORDER BY
   sticky DESC,
   CASE `open` 
      WHEN 1 THEN 1 
      WHEN 0 THEN 2 
      WHEN 10 THEN 3 
      ELSE 4 
   END ASC
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_34043404
Leuk man, dat inline scripten in mysql.. altijd handig!!
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  zaterdag 14 januari 2006 @ 20:05:25 #169
37634 wobbel
Da WoBBeL King
pi_34058797
met is_numeric() kan je kijken of een string numeriek is.
Maar is er ook een variant om te kijken of er alleen letters inzitten?
pi_34058937
Ik heb er nooit van gehoord, maar ik vond deze functie.
Ik gebruik er altijd een simpele preg_match voor, maar ik weet niet wat sneller/beter is.
pi_34066957
quote:
Op zaterdag 14 januari 2006 12:10 schreef SuperRembo het volgende:
@the_disheaver:
Ik dacht dat je probleem was dat de sorteervolgorde 1, 0, 10 werd. Maar het probleem is dus dat je wil dat de sorteervolgorde 1, 0, 10 wordt, maar dat je niet weet hoe je dat moet doen.
Die eerste post klopte idd niet echt. waarschijnlijk de volgorde waar hij weer gegeven werd, en hoe ik wou dat het weer gegeven werd door elkaar gehaald. Maar het was zeker wel een niet logische volgorde.

Dank voor je SQL, zal het ff proberen!
pi_34067076
quote:
Op zaterdag 14 januari 2006 12:14 schreef SuperRembo het volgende:

[ code verwijderd ]
Tof, in phpmyadmin doet hij het goed. Nu nog in het php-bestand veranderen. Dank!

edit: aangepast in het script en het werkt! Nogmaals dank
pi_34082273
Ik krijg dus verschillende $_POST waarden naam, wachtwoord etc.
maar nu staat er dit:

1
2
3
4
5
if ( get_magic_quotes_gpc () ) {
   foreach ( $_POST as $key => $value ) {
      $_POST [ $key ] = stripslashes ( $value );
   };
};

wat is hier de meerwaarde het $key invoegen?
De array $_POST wordt toch vanzelf doorgelopen, en daar hoef ik toch niet nog de $key vooor te gebruiken?
pi_34082406
foreach maakt een kopie van de array. Als je vervolgens value = stripslashes($value) alleen zou doen, zou er in $_POSt helemaal niets veranderd zijn. Daarom moet je met foreach expliciet terugschrijven naar de $_POST array.
pi_34084075
ohja natuurlijk omdat je de gestipte $_POST ook buiten de foreach wilt gebruiken
pi_34087965
Een PHP / Apache vraagje:

Ik heb meerdere domeinnamen voor één en dezelfde site. Nu heb ik op 1 server deze site staan en de andere servers wil ik ook deze site laten tonen. Nu doe ik dat door in een frame de site te laden, maar dat is natuurlijk lelijk en men kan dan ook zien dat het een andere site betreft (in een andere taal, dat wel).

Nu had ik het volgende bedacht, maar ik weet niet precies hoe ik het helemaal moet uitvoeren. In de .htaccess wil ik middels mod_rewrite alles paginaverzoeken op de tweede server laten doorverwijzen naar pagina.php?verzoek=*paginaverzoek*.

Dus www.b.be/contact.php -> www.b.be/pagina.php?contact.php.

Nu kan ik dat wel met de hand in gaan stellen voor elke pagina apart, maar dat is een beetje onhandig. Het bestand pagina.php bevat dan <?php include("www.a.nl/".$verzoek); ?>.

Dat leek mij wel een nette oplossing. Ik werk niet meer met frames. De bezoeker ziet niet dat hij feitelijk op een andere server zit en het werkt ook wel makkelijk.

Alleen ik weet niet hoe ik dat .htaccess bestand moet maken (de mod_rewrite code dan).
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_34088804
Is het niet mogelijk om met VirtualHosts te werken? Dan kun je een ServerAlias opgeven en werkt het exact hetzelfde voor zowel domein www.a.nl als voor www.b.nl
pi_34088915
quote:
Op zondag 15 januari 2006 16:45 schreef JeRa het volgende:
Is het niet mogelijk om met VirtualHosts te werken? Dan kun je een ServerAlias opgeven en werkt het exact hetzelfde voor zowel domein www.a.nl als voor www.b.nl
Daar heb ik helemaal geen verstand van
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_34089930
1
2
RewriteEngine On
RewriteRule    ^(.*)$   /index.php?verzoek=$1


Dit werkt, voor zover ik kan zien. Is dit ook correct en veilig?
Schuimpje... mijn liefste. Verlaat mij nimmer weer...
pi_34108326
ah eindelijk mijn phpwerkjes mbv v.h pear-framework beginnen te draaien
pi_34114116
quote:
Op zaterdag 14 januari 2006 20:05 schreef wobbel het volgende:
met is_numeric() kan je kijken of een string numeriek is.
Maar is er ook een variant om te kijken of er alleen letters inzitten?
iidd een regular expression ding ertegen aan knallen, ctype_alpha() is idd nog beter
pi_34130207
1$datasource = $db_engine . '://' .  $db_user . ':'  $db_pass . '@' . $db_host  . '/' . $db_name;


ik vraag me af he, wat doen die punten ( . ) telkens na en voor die variabelen?
zorgen die ervoor dat de aanhalingstekens gescheiden blijven en zo niet aan de variabelen gaan plakken waardoor ze evt. string kunnen worden?
pi_34130575
doe eens een print van datasource en je zal zien wat er gebeurt .
pi_34130583
-

[ Bericht 100% gewijzigd door the_disheaver op 16-01-2006 19:03:19 ]
pi_34131747
String Operators
[edit] Ai, wat ben ik traag [/edit]
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_34133235
Huh, vroegâh gebruikte ik daar gewoon + voor
pi_34133412
quote:
Op maandag 16 januari 2006 20:01 schreef Fatality het volgende:
Huh, vroegâh gebruikte ik daar gewoon + voor
Dat is optellen wat niet hetzelfde is als string concatten is.

Doe dit maar eens in PHP:

echo '5' + '3';

En dit:

echo '5' . '3';

En je merkt het verschil (mede mogelijk gemaakt door loose typing)
  FOK!-Schrikkelbaas maandag 16 januari 2006 @ 20:22:52 #188
1972 Swetsenegger
Egocentrische Narcist
pi_34134233
quote:
Op maandag 16 januari 2006 20:05 schreef JeRa het volgende:

[..]

Dat is optellen wat niet hetzelfde is als string concatten is.

Doe dit maar eens in PHP:

echo '5' + '3';

En dit:

echo '5' . '3';

En je merkt het verschil (mede mogelijk gemaakt door loose typing)
gokje, uitkomst 8 en uitkomst 53?
pi_34134813
quote:
Op maandag 16 januari 2006 20:22 schreef Swetsenegger het volgende:

[..]

gokje, uitkomst 8 en uitkomst 53?
Het was een vraagstuk voor Fatality ja voor gevorderde PHP'ers behoort dit basiskennis te zijn enzo
  FOK!-Schrikkelbaas maandag 16 januari 2006 @ 20:43:08 #190
1972 Swetsenegger
Egocentrische Narcist
pi_34135235
quote:
Op maandag 16 januari 2006 20:33 schreef JeRa het volgende:

[..]

Het was een vraagstuk voor Fatality ja
Ja die is het aan het inkloppen
quote:
voor gevorderde PHP'ers behoort dit basiskennis te zijn enzo
Ik deed het helemaal uit het blote bolletje .
pi_34136022
quote:
Op maandag 16 januari 2006 20:43 schreef Swetsenegger het volgende:

[..]

Ja die is het aan het inkloppen
[..]

Ik deed het helemaal uit het blote bolletje .
Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:

"Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"

En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
pi_34137524
quote:
Op maandag 16 januari 2006 20:59 schreef JeRa het volgende:

[..]

Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:

"Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"

En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
  FOK!-Schrikkelbaas maandag 16 januari 2006 @ 21:31:48 #193
1972 Swetsenegger
Egocentrische Narcist
pi_34137652
quote:
Op maandag 16 januari 2006 20:59 schreef JeRa het volgende:

[..]

Nee kijk, de beredenering erachter was dat Fatality die twee echo's zou overnemen en zou zeggen:

"Omfg lollercopter, nu snap ik die hendig sjieke kankerkachels! Wellicht zou ik dit zo ook kunnen testen bij ándere operators die ik nog niet ken!"

En zodoende was al het gepostopkrik mijner zijde niet nodig geweest
Mooi he dat je kan bijdrage aan de educatie van minder bedeelde php'ers .
pi_34137893
quote:
Op maandag 16 januari 2006 21:31 schreef Swetsenegger het volgende:

[..]

Mooi he dat je kan bijdrage aan de educatie van minder bedeelde php'ers .
Ik barst 's nachts wel eens in huilen uit, puur vanwege de pracht

Oh. Ehm. Even een educatief momentje.

$postopkrik++;

Is trager dan

++$postopkrik;

Maar verschillen weldegelijk in de geretourneerde waarde bij evaluatie. De eerste zal de waarde vóór de increment retourneren, terwijl de tweede de waarde ná de increment retourneert. Dit maakt de tweede variant sneller daar er geen tijdelijke variabele hoeft worden bijgehouden.

En nu weer echt ontopic
pi_34141332
quote:
Op woensdag 11 januari 2006 23:26 schreef keeper het volgende:
Ik probeer een XML bestand te parsen, wat opzich goed gaat, maar ik val over een paar dingen.

Ik moet oa informatie hebben die tussen <description>-tags staat. Dit lukt, maar als er tussen de start en eindtag witregels worden gebruikt, pakt de parser het maar tot de witregel.

Dus
[ code verwijderd ]

Levert als output alleen 'BlaBla'. Een nl2br(); lost hierbij niks op,

Daarnaast is er ook een probleem als er een < of >-teken wordt gebruikt (bijvoorbeeld als er een link is opgenomen in de description, of een <b>-tag). De parser stopt dan ook op dit punt. De tags staan er trouwens niet hard in, maar in hun html-entity-waarde, dus &l_t en >. Dit geldt ook voor tekens als apostrof (') enzo, maar die kan ik er uitvissen met een ereg_replace:
[ code verwijderd ]

Doe ik dit echter bij de < en >-tekens, krijg ik deze error:
[..]

Die line xxx is overigens de eerste lijn in de xml-file waar zo'n <-teken staat.

Als laatste puntje heb ik een probleem om de inhoud van een tag met een namespace-verwijzing daarin te pakken te krijgen. In dit geval de tag <lj:mood>. Ik begreep uit documentatie dat die namespace slechts ter identificatie dient en je gewoon op de tag zonder de namespace kan zoeken. Dus in dit geval <mood>. Helaas blijft mijn variabele waarin de inhoud van de tag zou moeten staan dan leeg .

Iemand suggesties? Ik blijf zelf ook dingen proberen natuurlijk, als ik antwoorden heb post ik ze hier .

In de voorbeelden hier heb ik die html-entities wat aangepast, want anders worden ze als teken neergezet door Replikk. In mijn echte code staan ze goed, dus zonder underscore en met punt-komma.

De code van mijn parser.
Niemand die hier nog geniale gedachtes over heeft? Ik zit er zelf ook een beetje vast mee. Geen idee waarop ik moet zoeken ook.
Die Welt ist alles was der Fall ist.
pi_34144090
over die < en die > is een functie, htmlentities() voor.
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
  dinsdag 17 januari 2006 @ 00:11:04 #197
65471 SkaterSam
Lurking Galore
pi_34144863
Even een vraagje, ik heb een nieuwsbericht waarin door nl2br() de breaks er in worden gezet. Dus voor paragrafen wordt dat dus een dubbele break. Nu wil ik echter alleen de eerste paragraaf selecteren, dus het eerste deel voor de dubbele break, dus ik probeer met explode() te breken, maar in de geretourneerde code van nl2br() zitten de breaks onder elkaar

1
2
3
blablablabla hier<br />
<br />
blablabla etc...

dus ik kan niet explode('<br /><br />'), iemand die een oplossing weet.

Ik weet ook niet helemaal wat een \r (carriage return) en een \n (newline) is, dan kon ik mijn eigen functie schrijven (iets als preg_replace('\r', '<br />', $string) ofzoiets).
Let's make life easy
Typo's are the demon spawn from hell !
pi_34145363
@SkaterSam

Ik weet niet hoe bij jou de nieuwsberichten worden opgeslagen, doe je dit mét of zonder HTML?

Zonder is het namelijk vrij simpel; dan hoef je alleen te zoeken op twee opeenvolgende "\n"-tekens (gegeven dat je de "\r" tekens gefilterd hebt of op een andere manier hebt weggelaten). Sla je de berichten zowel met HTML als met carriage returns en newlines op, dan zul je aan de slag moeten met preg_split()
pi_34145546
quote:
Op maandag 16 januari 2006 23:53 schreef markiemark het volgende:
over die < en die > is een functie, htmlentities() voor.
Dan krijg ik dus een XML Wellformedness error .

Ik heb nu een ander scriptje gebrouwen, dat gewoon de inhoud van de xml inleest en dan echoot. Wat ik dan moet hebben is dus dat hij de data die tussen de tags <description> en </description> staat, inclusief html-entities en de hele whitespace rommel, naar de variabele 'description' schrijft.

Ik heb nu een interessant uitziende tutorial gevonden op http://www.wdvl.com/Authoring/Languages/PHP/Pro/prophp5_2.html, dus die ga ik maar even (morgen) doorspitten.
Die Welt ist alles was der Fall ist.
  dinsdag 17 januari 2006 @ 00:28:09 #200
65471 SkaterSam
Lurking Galore
pi_34145587
Zo'n bericht wordt ongeëdit opgeslagen, dus direct van de textarea af in MySQL, pas wanneer ze eruit worden gehaald worden ze gebroken met nl2br(). Dat betekent dus dan dat ik beter een eigen functie kan schrijven?

1preg_replace("\n\n", "<br /><br />", $string)
Let's make life easy
Typo's are the demon spawn from hell !
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')