Registreer FAQ Ledenlijst Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 19-02-2003, 20:43
Verwijderd
Met de volgende code wordt het gastenboek getoond:

PHP-code:
<?php
  
include("../connect.php");
  
$sql="SELECT DATE_FORMAT(datum,'%d-%m-%Y %H:%i:%s') AS stringdatum, naam, cijfer, reactie FROM gastenboek ORDER by datum DESC";
  
$res=mysql_query($sql$db);
  while (
$ligne mysql_fetch_object ($res))
  {
   print 
"<tr>";
   print 
"<td>$ligne->stringdatum</td>";
   print 
"<td>$ligne->naam</td>";
   print 
"<td>$ligne->cijfer</td>";
   print 
"<td>$ligne->reactie</td>";
   print 
"</tr>";
  }
  
mysql_free_result ($res);
  
mysql_close($db);
 
?>
In de kolom "cijfer" zit ook een aantal malen het getal "0". Deze stammen nog uit de tijd toen ik deze functie nog niet had toegevoegd.
Mijn vraag is nou hoe ik die "0"-en die in het gastenboek worden weergegeven kan veranderen in "-". Het lukt me maar niet...
Met citaat reageren
Advertentie
Oud 19-02-2003, 20:46
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Je wilt alle 0-en in een string veranderen naar een streepje?
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 19-02-2003, 20:46
Martin
Avatar van Martin
Martin is offline
Dat moet toch kunnen met str_replace?
Met citaat reageren
Oud 19-02-2003, 20:48
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
Martin schreef:
Dat moet toch kunnen met str_replace?
Ja dat is heel makkelijk, maar ik weet niet precies wat hij nou wilt, dus vraag ik het ff
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 19-02-2003, 20:57
Verwijderd
Citaat:
Enlightenment schreef:
Je wilt alle 0-en in een string veranderen naar een streepje?
ja, klopt.
Alle 0-en in de kolom getal, moeten voordat ze worden geprint in een - worden veranderd.


Heb wat met if, then, = geprobeerd, maar dat lukte niet. Is dat logisch?
Met citaat reageren
Oud 19-02-2003, 21:00
Martin
Avatar van Martin
Martin is offline
Citaat:
Ik schreef:
Heb wat met if, then, = geprobeerd, maar dat lukte niet. Is dat logisch?
Het is inderdaad nogal logisch

Doe dit eens:

PHP-code:
$var str_replace("0","-",$var); 
Met citaat reageren
Oud 19-02-2003, 21:08
Verwijderd
Citaat:
Martin schreef:
Het is inderdaad nogal logisch

Doe dit eens:

PHP-code:
$var str_replace("0","-",$var); 
thanks...alleen mijn 10-en worden nou "1-"
Met citaat reageren
Oud 19-02-2003, 21:10
Verwijderd
Citaat:
Ik schreef:
thanks...alleen mijn 10-en worden nou "1-"
oke, provisorisch opgelost:

PHP-code:
$ligne->cijfer str_replace("0","-",$ligne->cijfer);
$ligne->cijfer str_replace("1-","10",$ligne->cijfer); 
Kan dit netter?
Met citaat reageren
Oud 19-02-2003, 21:10
Harrie
Avatar van Harrie
Harrie is offline
Citaat:
Ik schreef:
thanks...alleen mijn 10-en worden nou "1-"

$var = str_replace("0","-",$var);
$var = str_replace("1-","10",$var);


of als je voor elke 0 een spatie hebt:
$var = str_replace(" 0","-",$var);
Met citaat reageren
Oud 19-02-2003, 21:12
Verwijderd
Citaat:
Harrie schreef:
$var = str_replace("0","-",$var);
$var = str_replace("1-","10",$var);
Ik was lekker sneller
Met citaat reageren
Oud 19-02-2003, 21:18
Verwijderd
if ($var == "0") $var = "-";

Of is het echt als er ook meerdere troep in een string zitten?
Met citaat reageren
Oud 19-02-2003, 21:19
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Het zou ook zo kunnen:
PHP-code:
while (strstr($string,'0'))
 
substr_replace($string,'0',strpos($string,'-')); 
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 19-02-2003, 21:20
Verwijderd
ennuh...hoe kan je dit dan voor "24-06-2002 00:00:00" toepassen? Dat de "0"-en dus verdwijnen? De "0" voor de "6" en tussen de "2"-en moet natuurlijk blijven
Met citaat reageren
Oud 19-02-2003, 21:29
Enlightenment
Avatar van Enlightenment
Enlightenment is offline
Citaat:
Ik schreef:
ennuh...hoe kan je dit dan voor "24-06-2002 00:00:00" toepassen? Dat de "0"-en dus verdwijnen? De "0" voor de "6" en tussen de "2"-en moet natuurlijk blijven
Citaat:
Ik schreef:
ja, klopt.
Alle 0-en in de kolom getal, moeten voordat ze worden geprint in een - worden veranderd.


Heb wat met if, then, = geprobeerd, maar dat lukte niet. Is dat logisch?
Je wilde alle 0-en in een string (die van de kolom getal dus) veranderen naar een streepje. Maar nu zeg je dat je dat niet altijd wilt? Wat is het nou?
__________________
Per undas adversas (tegen de stroom in)
Met citaat reageren
Oud 19-02-2003, 22:33
TouchOfDarkness
Avatar van TouchOfDarkness
TouchOfDarkness is offline
wat is je kolomtype voor die datum dan??

als dat een timestamp(14) is, dan komt een zerofilled datum er zo uit: 00000000000000; dan kan je in je code toch wel afvangen dat als je output dat formaat heeft, geef dan een streepje? of is het niet altijd zo dat er een volledig lege datum uit komt?

eerlijk gezegd vind ik die str_replace() oplossing niet echt handig.
__________________
He can't hear the sirens, cause silence is the greatest sleep of them all.
Met citaat reageren
Oud 20-02-2003, 07:33
Verwijderd
Citaat:
Enlightenment schreef:
Je wilde alle 0-en in een string (die van de kolom getal dus) veranderen naar een streepje. Maar nu zeg je dat je dat niet altijd wilt? Wat is het nou?
Met citaat reageren
Oud 20-02-2003, 07:40
Verwijderd
Citaat:
TouchOfDarkness schreef:
wat is je kolomtype voor die datum dan??

als dat een timestamp(14) is, dan komt een zerofilled datum er zo uit: 00000000000000; dan kan je in je code toch wel afvangen dat als je output dat formaat heeft, geef dan een streepje? of is het niet altijd zo dat er een volledig lege datum uit komt?

eerlijk gezegd vind ik die str_replace() oplossing niet echt handig.
nope.
De datum staat er wel altijd, maar de tijd niet. Die tijd ( 00:00:00) moet gewoon helemaal verdwijnen, zodat uitsluitend de datum overblijft.
Een tijd van (00:00:00) komt wat ongeloofwaardig over, nietwaar?
Met citaat reageren
Oud 20-02-2003, 07:49
Verwijderd
ah, ik heb ontdekt hoe ik het kan oplossen. zal met regulieren expressies moeten werken dan. pff...kijk ik nog wel naar., ik moet allang aan het werk zijn voor mijn stage

Bedank!
Met citaat reageren
Ads door Google
Oud 20-02-2003, 08:18
Verwijderd
Dit zou moeten werken:
Code:
SELECT 
  DATE_FORMAT(datum,'%d-%m-%Y %H:%i:%s') AS stringdatum, 
  naam, 
  IF( cijfer = 0, '-', CAST( cijfer AS CHAR( 6 ) ) ) AS cijfer, 
  reactie 
FROM 
  gastenboek 
ORDER 
  by datum DESC
http://www.mysql.com/doc/en/Control_flow_functions.html
Met citaat reageren
Oud 20-02-2003, 11:05
JJzD
JJzD is offline
je zou uit je timestamp ook enkel de datum kunnen opvragen
__________________
-|-
Met citaat reageren
Oud 20-02-2003, 11:45
Verwijderd
Citaat:
JJzD schreef:
je zou uit je timestamp ook enkel de datum kunnen opvragen
nope
Er zijn een rijen waarin de tijd opgevraagd dient te worden
Met citaat reageren
Oud 20-02-2003, 13:38
P=Hp²
P=Hp² is offline
Waarom sla je de data (datums ) niet met php op als time()-timestamp? Dan kan je er met date() elk formaat uithalen dat je wilt.
Met citaat reageren
Oud 20-02-2003, 14:22
Verwijderd
Citaat:
P=Hp² schreef:
Waarom sla je de data (datums ) niet met php op als time()-timestamp? Dan kan je er met date() elk formaat uithalen dat je wilt.
omdat, zoals ik al zei, deze functie te zijner tijd is uitgebreid. Ik heb een kolom met die informatie erin, maar in de ene regel moet het op een andere manier dan in een andere regel, omdat er nog "ode" gegevens tussen staan.
Met citaat reageren
Oud 20-02-2003, 20:01
zazzie
zazzie is offline
als je datum in je databees dit format (24-06-2002 00:00:00) heeft en je wilt alleen de datum dan kan je die toch ook gewoon op de spatie exploden?

PHP-code:
$data=explode(" "$row[datum]);
$datum=data[0]; 
Met citaat reageren
Oud 20-02-2003, 20:26
Verwijderd
Citaat:
zazzie schreef:
als je datum in je databees dit format (24-06-2002 00:00:00) heeft en je wilt alleen de datum dan kan je die toch ook gewoon op de spatie exploden?

PHP-code:
$data=explode(" "$row[datum]);
$datum=data[0]; 
Als je goed leest zie je dat ik dan niet het gewenste resultaat bereik.

Maar is heb het al hoe ik het wil, dus deze topic mag dicht
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 21:22.