abonnement Unibet Coolblue Bitvavo
pi_41392761
Ik kom er maar niet uit... Volgens mij is het doodsimpel wat ik wil, maar ik kan het zo 1 2 3 maar niet opgelost krijgen...

Ik heb een array. Deze wil ik evalueren. Dus controleren of een bepaalde waarde gezet is (met isset($array['waarde']), en zo ja: een bepaalde actie uitvoeren. Nu kan ik dat met IF doen, maar dat schiet niet op, het zijn er te veel hiervoor. Dus wilde ik het met een switch-case doen. Maar....

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$test
['hoi'] = "blaat";

switch (
TRUE)
{
    case(isset(
$test['hoi'])):
        echo
"Hoi!<br>";
        
    case (!empty(
$test['doei']):
        echo
"Doei!";
}
?>


Dit geeft altijd beide waarden als true aan... Terwijl $test['doei'] niet eens bestaat, laat staan dat er iets in staat... Wat doe ik verkeerd?
pi_41393084
Kijk op PHP.net maar eens naar de functie switch() en dan vooral naar break;
pi_41393609
Nee, ik moet geen break hebben. Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
pi_41396195
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.

In coldfusion gaat dat zoals:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<cfhttp method="post" url="#gUploadServer#">
   <cfhttpparam
      type = "FormField"
      name = "xml_file"
      value = "#ConversieXml#">
   <cfhttpparam
      type = "FormField"
      name = "fa"
      value = "download_image_from_web">
   <cfhttpparam
      type = "FormField"
      name = "CFID"
      value = "#Session.sessionID#">
</cfhttp>

<cfset NewXmlContent=cfhttp.FileContent>
pi_41396383
quote:
Op vrijdag 1 september 2006 14:32 schreef Hmail het volgende:
Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
Dan moet je niet deze switch gebruiken... tenzij je een case voor die 'én' situatie maakt.

-r-
pi_41396467
quote:
Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.

In coldfusion gaat dat zoals:
[ code verwijderd ]
Je bedoelt gewoon een formulier in HTML?

1
2
3
4
5
6
7
8
<form action="bestand.php" method="post">

<input name="tekstveld" type="text" />
<input name="tekstveld_twee" type="text" />

<input type="submit" value="Invoeren" />

</form>


Geeft POST_['tekstveld'] en POST_['tekstveld_twee'].
pi_41396560
quote:
Op vrijdag 1 september 2006 13:57 schreef Hmail het volgende:
Ik kom er maar niet uit... Volgens mij is het doodsimpel wat ik wil, maar ik kan het zo 1 2 3 maar niet opgelost krijgen...

Ik heb een array. Deze wil ik evalueren. Dus controleren of een bepaalde waarde gezet is (met isset($array['waarde']), en zo ja: een bepaalde actie uitvoeren. Nu kan ik dat met IF doen, maar dat schiet niet op, het zijn er te veel hiervoor. Dus wilde ik het met een switch-case doen. Maar....
[ code verwijderd ]

Dit geeft altijd beide waarden als true aan... Terwijl $test['doei'] niet eens bestaat, laat staan dat er iets in staat... Wat doe ik verkeerd?
Heb je niets aan array_push() en in_array()?

http://nl3.php.net/manual/en/function.array-push.php
http://nl3.php.net/manual/en/function.in-array.php
  vrijdag 1 september 2006 @ 15:56:59 #208
46383 Tiemie
sowieso wel!
pi_41396596
quote:
Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
En hoe ik dan het antwoord kan uitlezen.

In coldfusion gaat dat zoals:
[ code verwijderd ]
Met deze class b.v. http://scripts.incutio.com/httpclient/index.php

http://scripts.incutio.com/httpclient/examples.php
pi_41403795
Ik heb de volgende tabel:

id datum link
1 31-08-2006 iets.jpg
1 23-08-2006 iets.jpg
1 01-08-2006 iets.jpg
2 02-08-2006 iets.jpg
2 01-08-2006 iets.jpg

Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):
1$sqlfoto = mysql_query("SELECT * FROM foto GROUP BY id ORDER BY datum DESC  ");

Maar nu krijg ik de oudste eerst

Ikke niet snappe
pi_41404821
quote:
Op vrijdag 1 september 2006 19:59 schreef Piles het volgende:
Ik heb de volgende tabel:

id datum link
1 31-08-2006 iets.jpg
1 23-08-2006 iets.jpg
1 01-08-2006 iets.jpg
2 02-08-2006 iets.jpg
2 01-08-2006 iets.jpg

Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):

[ code verwijderd ]
Maar nu krijg ik de oudste eerst

Ikke niet snappe
Het staat hier uitgelegd: http://gathering.tweakers.net/forum/list_messages/1133525

Je query zou moeten worden:

1
2
3
4
SELECT id, MAX(datum) as maxdatum, link 
FROM foto 
GROUP BY id 
ORDER BY maxdatum DESC
pi_41405311
Hij werkt bijna goed
Maar nog niet helemaal. Ik krijg nu wel de laatste datum per id, maar nog wel een oude foto
  vrijdag 1 september 2006 @ 21:18:52 #213
12880 CraZaay
prettig gestoord
pi_41405987
Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
pi_41406085
quote:
Op vrijdag 1 september 2006 21:18 schreef CraZaay het volgende:
Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
Jep (als DATETIME, als dat nog uitmaakt).
Maar MySQL werkt nu gewoon door elkaar. Hij selecteert de laatste datum en zomaar een foto
pi_41408948
Met zoiets kun je beter met unix timestamps werken, time() dus...
pi_41412071
Ik krijg bepaalde data niet goed uit m'n database terug, de situatie:

ik schrijf een bestandsnaam weg, bijvoorbeeld:
- overzicht.xls (zonder spatie)
- overzicht 2006.xls (met spatie)

Als ik deze bestandsnaam wil verwerken tot een URL door deze uit de database te halen en vervolgens achter een string te plaatsen gaat het goed, mits er geen spaties voorkomen in de bestandsnaam. Als er wel 1of meerdere spaties voorkomen in de bestandsnaam wordt alleen het 1e woord van de bestandsnaam verwerkt en dan stopt ie ermee.

Voorbeeld:
- overzicht.xls wordt verwerkt tot http://www.domein.tld/overzicht.xls
- overzicht 2006.xls wordt verwerkt tot http://www.domein.tld/overzicht

Hoe los ik dit op?
pi_41412154
code misschien handig?

weet ik anders veel, misschien explode je wel op spaties ofzo..
pi_41413253
quote:
Op zaterdag 2 september 2006 00:29 schreef the_disheaver het volgende:
code misschien handig?

weet ik anders veel, misschien explode je wel op spaties ofzo..
Hier gaat het fout:

1
2
3
4
5
*query*
*gegevens uit de db halen en verwerken*


<td class="table_cell"><?php print "<a href = ".$Rij['download'].">Download</a>";?></td>



in
1$Rij['download'] 

staat dus de bestandsnaam welke niet volledig wordt getoond als er spaties aanwezig zijn...

Is het duidelijker nu?
pi_41413582
1<?php print '<a href = "'.$Rij['download'].'">Download</a>';?>


De html-output is gewoon verkeerd. Er zal iets in de trant van
<a href=overzicht 2006.xls> staan ipv <a href="overziht 2006.xls">

Of de dubbele aanhalingstekens escapen (slash teken ervoor), of enkele aanhalingstekens gebruien ipv dubbele bij de print (print 'blaat'; ipv print "blaat";)

Maar idee om de download link te urlencoden?
pi_41413995
Het was inderdaad een kwestie van qoutes toevoegen aan de URL, bedankt voor je hulp the_disheaver
pi_41414409
bij deze een echte n00b vraag;

ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter

voorbeeld:
$color maar zo heel af en toe weer: $color.

wat heeft die punt voor functie?
pi_41415052
quote:
Op zaterdag 2 september 2006 01:54 schreef warezguy05 het volgende:
bij deze een echte n00b vraag;

ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter

voorbeeld:
$color maar zo heel af en toe weer: $color.

wat heeft die punt voor functie?
In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:

1
2
3
4
5
6
$string1 = 'abc';
$string2 = 'def';

$output = $string1 . ' ' . $string2;

echo $output;  // abc def


Maar hoogstwaarschijnlijk is het gewoon een toevallige regeleinde die niet consequent wordt toegepast in die video tut?
pi_41418428
Oke, ik ben nu zo ver om dingen te verwijderen uit de database met PHP

Dus ik heb het in 1 pagina gegooit zoals dit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
//voer de MySQL query uit
$result = mysql_query('SELECT  * FROM leden');

echo
"<table border='1'>";

while(
$row = mysql_fetch_array($result)) {
    echo
"<tr>\n";
    echo
"<td>$row[id]</td> <td>$row[naam]</td> <td><a href='$server?id=$row[id]'>verwijder</a></td>\n";
    echo
"</tr>\n";
}
    
echo
"</table>";

//dit stond eerst in een ander document    
if(isset($_GET['id']) ) {
mysql_query('DELETE FROM leden WHERE id='.$_GET['id']);
    }
?>


Als er nu op verwijder word gedrukt is de record wel verwijder, maar hij staat nog in m'n scherm. pas als ik refresh is het weg. Hoe voor kom ik dit?

Of is dit helemaal geen goede manier?

edit-
hm ik kom er ook net achter als ik een getal invoer bij de url achter ?id= datie dan ook verwijderd word.
pi_41418507
eerst de delete-functie, dan de tabel echo'en.
pi_41418766
oke dat was makkelijk

en dat voor mijn edit? Hoe verhelp ik dat?
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')