Toon posts:

[PHP] script werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste mede Tweakers,

Ik heb een script geschreven/probeer te schrijven om bijvoorbeeld een datum te exploden en deze in 3 variabelen weg te schrijven.
ik heb deze variable: in_systeem_sinds (b.v. 12-03-2002) deze moeten in de variabelen in_systeem_sinds_dag, in_systeem_sinds_maand en in in_systeem_sinds_jaar.

ik heb hiervoor het volgende script geschreven:
PHP:
1
<?$result = mysql_query("SELECT * FROM kandidaten",$db); //haal de gegevens uit de datbase.While ($myrow = mysql_fetch_array($result)) { //Gooi alle records in een array.    $in_systeem_sinds = $myrow["In_systeem_sinds"]; //zet het veld In_systeem_sinds in de variabele    $temp_in_systeem_sinds = $in_systeem_sinds; //maak er een backup van.    $temp_naam = explode(" ", $in_systeem_sinds); //explode de variable en zet deze in temp.    while ($temp_naam);{ //zolang er nog records in $temp_nam zitten.        for ($i = 0; $i < 2; $i++) {             $in_systeem_sinds_dag .= " " . $temp_naam[$i]; //zet de eerste waarden uit de temp in                                                           // de variable in_systeem_sinds_dag.        }    }    echo $in_systeem_sinds_dag;}?>

Dit is dus het script om de eerste variable te vullen (in_systeem_sinds_dag).

Maar zoals jullie het al raden, het werkt dus niet (waarschijnlijk en ik weet het bijna wel zeker dat ik iets fout doe). Ik krijg dan de volgende foutmelding:

Fatal error: Maximum execution time of 30 seconds exceeded in /usr/local/apache/htdocs/database/convert.php on line 56

kunnen jullie mij helpen met jullie briljante kennis :)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 00:09
Tering wat een script.... :D

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

hij blijft ergens hangen waardoor de executie tijd te lang duurt

zet er ff [php] en [./php] zonder . omheen svp

Doet iets met Cloud (MS/IBM)


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
while ($temp_naam){
is altijd true, en zal dus door blijven gaan. Je bedoelt hier waarschijnlijk een forloop met count($temp_naam) als grens.

Dus for( i = 0; i< count($temp_naam); i++)

Echter je hele code is nogal vaag ;) Indent hem even netjes en zet er even commetnaar bij, want ik volg je zienswijze niet helemaal

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 00:09

  • Quibus
  • Registratie: November 2000
  • Laatst online: 01-09 19:46
Volgens mij kun je die array die je wilt exploden helemaal niet exploden omdat het geen array meer is in die while loop. Of ja beter gezegd hij haalt door die while loop de waarders er één voor één uit, waardoor je dus niet echt over een array kunt spreken.

Verwijderd

Topicstarter
ddc:

Ik heb al diverse sites bezocht en dus ook bij php.net gekeken, alleen is de uitleg naar hetgeen wat ik wil nogal summier. :(

Ik ga het script even wat netter maken en van wat commentaar voorzien.

uno momento.

gr
lanz

  • 4VAlien
  • Registratie: November 2000
  • Laatst online: 02-08 23:13

4VAlien

Intarweb!

zeg boefje, wil je wel es heel snel stoppen met select * queries... misschien dat dat nu nog goed gaat maar het is niet verkeerd om eerst te bedenken welke data je nodig hebt en dan die kolomnaampjes even in te vullen.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 00:09
code:
1
list($in_systeem_sinds_dag, $in_systeem_sinds_maand, $in_systeem_sinds_jaar) = explode("-", $in_systeem_sinds);

:z

Verwijderd

sjees, dat doe je best moeilijk volgens mij :)
code:
1
2
$in_systeem_sinds = "28-05-2002";
list($dag, $maand, $jaar) = explode("-", $in_systeem_sinds);

dat is toch alles wat je nodig hebt???

edit:

... waarom sta ik nu niet bovenaan :(

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 00:09
jurriebur:
edit:

... waarom sta ik nu niet bovenaan :(
>:) *D

Verwijderd

Topicstarter
Stom dat ik daar niet aan gedacht heb |:(
ik kan denk ook weer veel te ingewikkeld (heb ik altijd last van als ik nuchter ben (bieeeeeeeeeeer >:) ) )

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

code:
1
2
3
4
5
6
7
8
$query = "
   SELECT
    YEAR(in_systeem_sinds) jaar,
    MONTH(in_systeem_sinds) maand,
    DAYOFMONTH(in_systeem_sinds) dag
   FROM
    ...
";

Wat hebben mensen toch tegen date en time functies binnen MySQL :? :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
drm:

Op zich heel weinig (ik gebruik het zelfs zeer vaak) maar,
het is zo dat dit vaste gegevens zijn die uit de huidige datbase gekopieërd moet worden in de nieuwe database. Dus dan kan ik die functie helaas niet gebruiken :o

toch bedankt voor de tip.

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017

RSD

gebruik gewoon de functie 'substr' je kan dan gemakkelijk van een string bepaalde charackters nemen. substr($naam,5,2) geeft van de string $naam 2 characters die op positie 5 beginnen,... as easy as it is

Verwijderd

Topicstarter
Mensen bedankt voor jullie hulp. Ik heb het immidels aan de gang :-)

Verwijderd

Op dinsdag 28 mei 2002 16:18 schreef __Lanz__ het volgende:
drm:

Op zich heel weinig (ik gebruik het zelfs zeer vaak) maar,
het is zo dat dit vaste gegevens zijn die uit de huidige datbase gekopieërd moet worden in de nieuwe database. Dus dan kan ik die functie helaas niet gebruiken :o

toch bedankt voor de tip.
formaat als 2002-05-17 kan gewoon verwerkt worden door de DATE/TIME functies, maakt niet uit hoe ze in de db zijn gekomen...
Pagina: 1