Ga naar inhoud


Foutmelding in script


Daan

Aanbevolen berichten

Als ik in me error log kijkt zie ik deze regel die steeds terug komt

 

[24-Mar-2014 10:48:40 Europe/Amsterdam] PHP Warning:  number_format() expects parameter 1 to be double, string given in /home/xxxxxxx/public_html/xxxxxx/includes/cms.class.php on line 136
 
Zou om deze regel gaan
 
$oca['kmstand'] = number_format(str_replace(array(",", "."), "", $oca['kmstand']), 0);
 
Kan 123 er niets vinden wat de oorzaak kan wezen  :confused:
 
verder werkt het script gewoon gaat me even alleen om de foutmelding wat er mis gaat.
 

Dreambox DM8000HD - DM800HD - DM800SE-CABLE - DM500HD - OpenPli
Wavefrontier T90 - 5W - 0,8W - 4,8E - 9,0E - 13E - 19,2E - 23,5E - 28,2E

Link naar reactie
Delen op andere sites


Nou, met mijn Delphi programmeerkennis kom ik al een heel eind.

 

De functie str_replace geeft een string als resultaat.

De functie number_format verwacht als eerste parameter een float

 

Je krijgt dus de waarschuwing dat je een string in een float probeert te stoppen.

Lijkt me sterk dat het script werkt.

aangepast door Psychosammie
  • Resistance is futile you will be assimilated
  • Those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety. Benjamin Franklin (1706-1790)
  • Mijn vrijheid eindigt niet waar jouw angst begint!

 

 

Link naar reactie
Delen op andere sites

Ik zal er van de week er even meer tijd aan besteden,waarom zou het script niet werken? het script draait verder zonder fouten op de webpagina hij laat alles zien.

Dreambox DM8000HD - DM800HD - DM800SE-CABLE - DM500HD - OpenPli
Wavefrontier T90 - 5W - 0,8W - 4,8E - 9,0E - 13E - 19,2E - 23,5E - 28,2E

Link naar reactie
Delen op andere sites

Ik weet niet wat $oca['kmstand'] voorstelt maar waarschijnlijk zit daar al een waarde in en gaat het per ongeluk goed.

  • Resistance is futile you will be assimilated
  • Those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety. Benjamin Franklin (1706-1790)
  • Mijn vrijheid eindigt niet waar jouw angst begint!

 

 

Link naar reactie
Delen op andere sites

Maak er eens van:

$oca['kmstand'] = number_format((double)str_replace(array(",", "."), "", $oca['kmstand']), 0);

 

Niet getest, maar zou moeten werken gok ik zo.  

 

Zo niet, gebruik dan:

$oca['kmstand'] = number_format(floatval(str_replace(array(",", ".")), "", $oca['kmstand']), 0);

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

Ik gok eerder dat hij geen functie voor numbers moet gebruiken als hij al een string heeft en ook een string wil hebben.

 

Waarschijnlijk is str_replace(array(",", "."), "", $oca['kmstand']), 0) al voldoende?

 

Maag goed, ik heb geen kennis van PHP.

  • Resistance is futile you will be assimilated
  • Those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety. Benjamin Franklin (1706-1790)
  • Mijn vrijheid eindigt niet waar jouw angst begint!

 

 

Link naar reactie
Delen op andere sites

@Psychosammie met jou regel wou het script niet meer werken gelijk een blanco pagina 

 

@Big fellow met jou regel werkt het  geen errors meer  in de log thanks  ;) 

 

$oca['kmstand'] = number_format((double)str_replace(array(",", "."), "", $oca['kmstand']), 0);

 

Iedereen nog bedankt voor het meedenken.

aangepast door Daan

Dreambox DM8000HD - DM800HD - DM800SE-CABLE - DM500HD - OpenPli
Wavefrontier T90 - 5W - 0,8W - 4,8E - 9,0E - 13E - 19,2E - 23,5E - 28,2E

Link naar reactie
Delen op andere sites

Was ook een kleine kans dat mijn oplossing zou werken. De oplossing van onze grote vriend geloof ik direct. Maar het blijft vreemd dat je een string hebt waarin je wat vervangt om daar dan een nummer van te maken om vervolgens dat nummer weer in een string om te zetten.

 

@Big fellow

Dat moet toch eenvoudiger kunnen?

  • Resistance is futile you will be assimilated
  • Those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety. Benjamin Franklin (1706-1790)
  • Mijn vrijheid eindigt niet waar jouw angst begint!

 

 

Link naar reactie
Delen op andere sites

Inderdaad zou de regel "$oca['kmstand'] = str_replace(array(",", "."), "", $oca['kmstand']);" ook moeten werken. Het enige wat er gebeurt is de kommas en punten verwijderen uit de string... En daarvoor is helemaal geen heen-en-weer conversie nodig...  Ik had in eerste instantie (toen ik het antwoord dus schreef) niet goed naar de functie gekeken, en niet echt daarover nagedacht...

Maar nu ken je de "truuk" van typecasting :-) ...

“Success is not final, failure is not fatal: it is the courage to continue that counts.” ~ Winston Churchill

Link naar reactie
Delen op andere sites

@Big Fellow

 

Alles werkt zoals het moet op een schoonheidsfoutje na  bijvoorbeeld de kmstand met een coma hij geeft  bijvoorbeeld een 40,000 dat zou moeten met een .

 

 

 

hier een stukje van het script

 

 
$q = $this->_link->query("SELECT o.*, t.type_name as type, m.merk_name as merk FROM occasions o LEFT JOIN types t ON o.type = t.type_id LEFT JOIN merken m ON o.merk = m.merk_id{$sold}{$brand} ORDER BY o.id DESC{$limit}");
if($this->_link->num_rows($q) > 0) {
$return = array();
while($oca = $this->_link->fetch_assoc($q)) {
if($oca['verkocht'] == 0) {
$oca['image'] = $this->getRandomImage($oca['id']);
} else {
$oca['image'] = array('img_thumb' => 'verkocht.png', 'img_full' => 'verkocht.png');
}
$oca['seo_titel'] = seo($oca['merk'].'-'.$oca['type'].'-'.$oca['bouwjaar'].'-'.$oca['motortype']);
$oca['prijs'] = number_format($oca['prijs'], 2, ",", ".");
$oca['kmstand'] = number_format((double)str_replace(array(",", "."), "", $oca['kmstand']), 0);
$return[] = $oca;
}
return $return;
} else {
return array();
}
}
 
}
 
?>

Dreambox DM8000HD - DM800HD - DM800SE-CABLE - DM500HD - OpenPli
Wavefrontier T90 - 5W - 0,8W - 4,8E - 9,0E - 13E - 19,2E - 23,5E - 28,2E

Link naar reactie
Delen op andere sites

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...