abonnement Unibet Coolblue Bitvavo
pi_45298153
quote:
Op vrijdag 12 januari 2007 21:27 schreef wonderer het volgende:

[..]

Ja, dat wel...

Maar dan snap ik nog niet waarom hij dan soms loopt te mieren en meestal niet. Hij wordt wel vaak aangeroepen, kan het daaraan liggen?
Waarschijnlijk krijg je onder bepaalde voorwaarden een oneindige loop.
  vrijdag 12 januari 2007 @ 21:44:22 #152
71919 wonderer
Hung like a My Little Pony
pi_45298206
quote:
Op vrijdag 12 januari 2007 21:42 schreef Light het volgende:

[..]

Waarschijnlijk krijg je onder bepaalde voorwaarden een oneindige loop.
En proberen te ontdekken welke voorwaarden is zeker onbegonnen werk?
"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_45298257
quote:
Op vrijdag 12 januari 2007 21:27 schreef wonderer het volgende:

[..]

Ja, dat wel...

Maar dan snap ik nog niet waarom hij dan soms loopt te mieren en meestal niet. Hij wordt wel vaak aangeroepen, kan het daaraan liggen?
Ik blijf bij een oneindige loop. Het aantal keren dat je die regel aanroept is niet zozeer het probleem, een loop die 1 keer oneindig wordt (while(true)) wel.
quote:
Heb ook problemen met $result=mysql_db_query($myDB,$query,$dblink); en een aantal dingen die daaruit voortvloeien... waar kan dat op duiden?
Wat voor problemen? En wat is de query? En wat doe je met $result?
pi_45298294
quote:
Op vrijdag 12 januari 2007 21:44 schreef wonderer het volgende:

[..]

En proberen te ontdekken welke voorwaarden is zeker onbegonnen werk?
Neuh. Hoe is die loop? Dus wat is de for(each) of while regel van die loop waarin regel 585 zit?
  vrijdag 12 januari 2007 @ 22:01:41 #155
71919 wonderer
Hung like a My Little Pony
pi_45298746
quote:
Op vrijdag 12 januari 2007 21:45 schreef Light het volgende:

[..]

Ik blijf bij een oneindige loop. Het aantal keren dat je die regel aanroept is niet zozeer het probleem, een loop die 1 keer oneindig wordt (while(true)) wel.
[..]

Wat voor problemen? En wat is de query? En wat doe je met $result?
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
<?php
 $d
=connectDB();
 
$qroom=quote_smart($kamer,$d);
 
$qroom=make_room($qroom);
 
$success=settype($ID,"int");
 
$res=runquery("SELECT * FROM chat_kamer_".$qroom." WHERE ID > '".$ID."'",$d);
 if(
mysql_num_rows($res)!=0){
  while(
$row=mysql_fetch_array($res)){
   
$id=$row["ID"];
   
$username=$row["username"];
   
$chatname=parse_chatname($row["chatname"], $username);
   
$kleur=$row["kleur"];
   
$sentence=parse_sentence($row["sentence"],$row["systemmess"]);
   
$line=lineformat($id$chatname$kleur$sentence$row["adminmess"], $username$row["systemmess"]);
   
$lines.=$line.'<%split%>';
   
$lid=$row["ID"];
  }
  
$lines=substr($lines,0,-9);
  
$callback=$lid.'<%split%>'.$lines;
  return 
$callback;
 }
 else{
  return 
'';
 }
?>


$ID wordt meegegeven in de functie. Functie wordt gebruikt om te zien of er nieuwe dingen gezegd zijn en zo ja, laat ze dan zien. Wordt elke twee seconden aangeroepen via een javascript.

$result is dezelfde als $d. 't Is mijn databaseverbindingsfunctie, die dus eerst aangeroepen wordt en gebruikt voor de query en de magic quotes gedoe.
"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_45301933
quote:
Op vrijdag 12 januari 2007 22:01 schreef wonderer het volgende:

[..]
[ code verwijderd ]

$ID wordt meegegeven in de functie. Functie wordt gebruikt om te zien of er nieuwe dingen gezegd zijn en zo ja, laat ze dan zien. Wordt elke twee seconden aangeroepen via een javascript.

$result is dezelfde als $d. 't Is mijn databaseverbindingsfunctie, die dus eerst aangeroepen wordt en gebruikt voor de query en de magic quotes gedoe.
Hmm... ik heb hier eens naar gekeken, maar ik kan niet vinden hoe die loop oneindig kan worden.
  vrijdag 12 januari 2007 @ 23:34:46 #157
71919 wonderer
Hung like a My Little Pony
pi_45302035
Zijn er andere manieren om een database verbinding aan te maken?

En wat zou er bijvoorbeeld gebeuren als ID 0 was? De huidige meest recente IDs liggen rond de 500.000 (niet dat er zoveel records in zitten, maar ik laat hem doortellen).
"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."
  zaterdag 13 januari 2007 @ 00:10:08 #158
18008 hornage
FOK! Movie Trivia-Prijsmeester
pi_45303110
jongens,
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/path/to/chatscript.php
betekent simpelweg dat alles bewerkingen die gedaan worden om de pagina te laden meer dan 30 seconden in beslag nemen. Vanaf het moment dat de pagina aangevraagd wordt totdat ie klaar met laden is mag niet meer dan 30 seconden in een standaardinstelling.
Als dit alle code is waarin hij blijft hangen kan je even de query testen in bijvoorbeeld phpmyadmin. Als je daarin wel gewoon snel output krijgt ligt het aan je script.
Kijk wat er allemaal geladen en geiclude wordt. Dan moet je vast en zeker wel wat vinden.
Test je filmkennis! Speel mee met FOK! Movie Trivia en win prijzen!
pi_45303619
quote:
Op zaterdag 13 januari 2007 00:10 schreef hornage het volgende:
jongens,
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/path/to/chatscript.php
betekent simpelweg dat alles bewerkingen die gedaan worden om de pagina te laden meer dan 30 seconden in beslag nemen. Vanaf het moment dat de pagina aangevraagd wordt totdat ie klaar met laden is mag niet meer dan 30 seconden in een standaardinstelling.
Correct. En er zijn een paar mogelijke redenen waarom 30 seconden niet genoeg is. Zo kun je gewoon zoveel code hebben gemaakt dat het niet meer binnen 30 seconden uit te voeren is door de pc. Maar da's niet waarschijnlijk.
1
2
3
4
5
6
7
<?php
$i
=0;
while (
true) {
    
$i++;
}
echo 
$i;
?>

Dat levert ook een foutmelding op over maximum execution time exceeded. De oorzaak ligt hier voor de hand, maar iets minder duidelijk kun je ook naar oneindige loopjes gaan.
quote:
Als dit alle code is waarin hij blijft hangen kan je even de query testen in bijvoorbeeld phpmyadmin. Als je daarin wel gewoon snel output krijgt ligt het aan je script.
Kijk wat er allemaal geladen en geiclude wordt. Dan moet je vast en zeker wel wat vinden.
Queries controleren is idd ook een goed plan.
pi_45303726
quote:
Op vrijdag 12 januari 2007 23:34 schreef wonderer het volgende:
Zijn er andere manieren om een database verbinding aan te maken?

En wat zou er bijvoorbeeld gebeuren als ID 0 was? De huidige meest recente IDs liggen rond de 500.000 (niet dat er zoveel records in zitten, maar ik laat hem doortellen).
Hmm.. goed punt Probeer het eens, zou ik zeggen. En kijk dan meteen of er een (unique/primary) index op ID staat in de database, hoewel ik die wel verwacht.

PHPMyAdmin gooit standaard een Limit 0,30 achter je query. Beste manier om dat te omzeilen is er zelf "Limit 0,100000" achter te zetten.
  zaterdag 13 januari 2007 @ 06:02:48 #161
71919 wonderer
Hung like a My Little Pony
pi_45307072
Ik ga een beetje vogelen. Ik vind het vooral erg irritant dat het een kwestie van wachten is tot het fout gaat, ik kan het niet zelf forceren
"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_45308449
Met die loop lijkt me zo niets mis. Doen parse_chatname() en parse_sentence() nog iets vreemds, zoals verbindingen maken met de DB en trage queries executen ofzo?
pi_45308541
met welke functie kan ik kijken waar in een array exacte waarde staat?
dus ik heb een array:
1
2
3
4
5
6
7
8
Array
(
    [0] => 054
    [1] => 121
    [2] => 232
    [3] => 45822
    [4] => 12
}

en ik zoek bijvoorbeeld naar 12, niks meer of minder (ik zou zeggen met een regex, echtergeen idee hoe)
en dan wil ik van de key waar 12 in staat het nummer weten (in dit geval dus 4)
pi_45308680
Zoeken in een array, gokje: array_search()
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_45308849
quote:
Op zaterdag 13 januari 2007 11:11 schreef SuperRembo het volgende:
Zoeken in een array, gokje: array_search()
pi_45310030
Arrays zijn nou typisch van die dingen in PHP waarvan ik zou willen dat ze net zoals in Java als extendable class werden geïntroduceerd. Dan had je niet overal meer die losse functies als sort() en count() liggen en was bovenstaand probleem gereduceerd tot Array.indexOf() of desnoods gewoon Array.findKey().
  FOK!-Schrikkelbaas zaterdag 13 januari 2007 @ 17:00:08 #167
1972 Swetsenegger
Egocentrische Narcist
pi_45316923
ordinaire terug vind post.
pi_45317639
quote:
Op zaterdag 13 januari 2007 12:25 schreef JeRa het volgende:
Arrays zijn nou typisch van die dingen in PHP waarvan ik zou willen dat ze net zoals in Java als extendable class werden geïntroduceerd. Dan had je niet overal meer die losse functies als sort() en count() liggen en was bovenstaand probleem gereduceerd tot Array.indexOf() of desnoods gewoon Array.findKey().
Dan moet het hele OO concept beter verwerkt worden in PHP.
pi_45318722
quote:
Op zaterdag 13 januari 2007 17:19 schreef Light het volgende:

[..]

Dan moet het hele OO concept beter verwerkt worden in PHP.
Ik vind dat ze al een redelijke basis hebben voor OOP in PHP wat is volgens jou nog het gebrek aan de huidige OO-features?
  zaterdag 13 januari 2007 @ 18:34:50 #170
71919 wonderer
Hung like a My Little Pony
pi_45320417
quote:
Op zaterdag 13 januari 2007 10:55 schreef JeRa het volgende:
Met die loop lijkt me zo niets mis. Doen parse_chatname() en parse_sentence() nog iets vreemds, zoals verbindingen maken met de DB en trage queries executen ofzo?
Ze maken wel een nieuwe verbinding aan (zelfde weer, $d=connectDB();) in de functies... hoeft dat niet? Kan dat anders? Misschien kan ik in de functie runquery inbouwen dat ie alleen verbinding moet maken als er geen verbinding is, maar dan weet ik niet hoe ik die magic_quotes_gpc moet doen...
"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_45320928
quote:
Op zaterdag 13 januari 2007 18:34 schreef wonderer het volgende:

[..]

Ze maken wel een nieuwe verbinding aan (zelfde weer, $d=connectDB();) in de functies... hoeft dat niet? Kan dat anders? Misschien kan ik in de functie runquery inbouwen dat ie alleen verbinding moet maken als er geen verbinding is, maar dan weet ik niet hoe ik die magic_quotes_gpc moet doen...
Een goede start is het doorgeven van de $db uit het hoofdscript. Die verbinding heb je namelijk al gemaakt dus dan hoeven die functies dat niet telkens opnieuw te doen. Ik heb sterk het vermoeden dat die twee functies zo slecht in elkaar zitten dat zij de oorzaak zijn van die 30+ seconden runtime
  zaterdag 13 januari 2007 @ 18:54:15 #172
71919 wonderer
Hung like a My Little Pony
pi_45321070
quote:
Op zaterdag 13 januari 2007 18:49 schreef JeRa het volgende:

[..]

Een goede start is het doorgeven van de $db uit het hoofdscript. Die verbinding heb je namelijk al gemaakt dus dan hoeven die functies dat niet telkens opnieuw te doen. Ik heb sterk het vermoeden dat die twee functies zo slecht in elkaar zitten dat zij de oorzaak zijn van die 30+ seconden runtime
Heb je een linkje naar een tut waar goed wordt uitgelegd hoe je functies (en database dingen) opbouwt? Er moet best wel een hoop gedaan worden voor de zin er mooi leesbaar uit komt rollen...
"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_45321914
Wat doet runquery eigenlijk? is dat hetzelfde als mysql_query? ik kan op php.net geen functie vinden die runquery heet...

Wat gebeurt er trouwens als je iets als print"$id"; in je while loop gooit? Dan krijg je als het goed is een hele hoop lijnen, en je kan voor de 30seconden error op stop duwen zodat je ze kan bestuderen. Daar kan je meteen uit opmaken of je loop idd oneindig loopt, of het probleem ergens anders ligt.
  zaterdag 13 januari 2007 @ 22:23:34 #174
71919 wonderer
Hung like a My Little Pony
pi_45328640
runquery is een functie die alleen dit doet: $result=mysql_db_query($myDB,$query,$dblink);

Ik zal asap even proberen om wat scripts aan te passen en uit te proberen, maar daar heb ik mijn vent bij nodig en die zit zelda te spelen
"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."
  zondag 14 januari 2007 @ 10:39:09 #175
62215 qu63
..de tijd drinkt..
pi_45336671
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if($_POST['submit']="submit")
{
$id = $_POST['ID'];
$datum = $_POST['datum'];
$offertenummer = $_POST['offertenummer'];
$ordernummer = $_POST['ordernummer'];
$order = $_POST['order'];
$bedrag = $_POST['bedrag'];
if (
is_array($id) && (count($id)))
{
$query = 'UPDATE (ID,datum,offertenummer,ordernummer,offerte,bedrag)
                    VALUES ('
. $id[0] . ', ' . $datum[0] . ', ' . $offertenummer[0] . ', ' . $ordertenummer[0] . ', ' . $order[0] . ', ' . $bedrag[0] . ')';
            
$num = count($id);
            for (
$i = 0; $i < $num; $i++) {
                
$query .= ',(' . $id[$i] . ', ' . $datum[$i] . ', ' . $offertenummer[$i] . ', ' . $ordernummer[$i] . ', ' . $order[$i] . ', ' . $bedrag[$i] . ')';
                   }
            
mysql_query($query);
            }
            }
?>

hoe kan ik deze query nou goed laten gaan?

$id t/m $bedrag moeten meerdere waarden krijgen (een array dus) en die moeten allemaal de database in. Er komen geen nieuwe rijen bij, het wordt dus alleen maar geupdate.

ik keek al bij Multiple Queries op dev.mysql.com maar ik weet niet of dat allemaal goed werkt enzo..

iemand tips?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')