abonnement Unibet Coolblue Bitvavo
pi_38863742
quote:
Op woensdag 14 juni 2006 20:59 schreef JeRa het volgende:

[..]

Wat dacht je van een standaard style gebruiken? bijvoorbeeld zo:
[ code verwijderd ]
Tuurlijk begin meteen met array's
1
2
3
4
5
6
7
8
9
10
11
<?php
switch($style){
  case
'blauw':
  
//blauw enzo
  
break;
  
//etc
  
default:
  
//als het geen van de case's is
  
break;
}
?>
quote:
[..]

Kwestie van keuze. Een switch is vaak overzichtelijker dan een if
Ik vind een switch meestal fijner werken. Inderdaad doordat het overzichtelijker is.
  FOK!-Schrikkelbaas woensdag 14 juni 2006 @ 22:11:58 #127
1972 Swetsenegger
Egocentrische Narcist
pi_38864967
quote:
Op woensdag 14 juni 2006 20:56 schreef super-muffin het volgende:
En wat moet 'ie doen als $style is wat ik verwacht en wat als het iets anders is?

En waarom switch gebruiken en geen if?
Zoals de rest zegt.
Als het is wat je verwacht (dus in jouw geval een kleur zoals blue, red, grey) de bijbehorende stijl tonen. Indien het iets anders is een default stijl tonen, of met een echo de gebruiker helemaal de pestpleuris schelden

-edit- de defauilt stijl tonen zou mijn voorkeur hebben omdat je pagina er dan OOK goed uitziet wanneer ze er zonder paramaters in de url terecht komen.
pi_38866113
quote:
Op woensdag 14 juni 2006 20:59 schreef JeRa het volgende:

[..]

Wat dacht je van een standaard style gebruiken? bijvoorbeeld zo:
[ code verwijderd ]
Dan kan korter
quote:
$allowedStyles = array('rood', 'groen');
$style = ( !in_array($_GET['style'], $allowedStyles) ) ? $_GET['style'] : $allowedStyles[0];
En in dit geval heeft een array mijn voorkeur boven een switch, gewoon omdat je een array makkelijk in een los configbestand kunt zetten en dan alleen die maar hoeft aan te passen als er een nieuwe stijl bij komt.
pi_38866239
quote:
Op woensdag 14 juni 2006 22:38 schreef Light het volgende:

[..]

Dan kan korter
Weet ik, maar dan moet ik twee keer $_GET typen en daar heb ik een hekel aan
  FOK!-Schrikkelbaas woensdag 14 juni 2006 @ 22:41:25 #130
1972 Swetsenegger
Egocentrische Narcist
pi_38866257
quote:
Op woensdag 14 juni 2006 22:38 schreef Light het volgende:

[..]

Dan kan korter
[..]

En in dit geval heeft een array mijn voorkeur boven een switch, gewoon omdat je een array makkelijk in een los configbestand kunt zetten en dan alleen die maar hoeft aan te passen als er een nieuwe stijl bij komt.


De jongen is net begonnen he...
pi_38869246
Ja, maar aan de andere kant is goed beginnen niet erg:
1
2
3
4
5
6
7
8
9
<?php
$var
= (conditie) : '1' ? '2';
// hetzelfde als
if(conditie){
$var = '1';
} else {
$var = '2';
}
?>
pi_38869547
quote:
Op woensdag 14 juni 2006 22:41 schreef JeRa het volgende:

[..]

Weet ik, maar dan moet ik twee keer $_GET typen en daar heb ik een hekel aan
Ctrl-C, Ctrl-V
pi_38869730
$_G<enter>
pi_38870424
In welke editor Roonaan?
pi_38902051
quote:
Op woensdag 14 juni 2006 23:54 schreef Roönaän het volgende:
$_G<enter>
Wow, dat scheelt 1 toetsaanslag
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38902052
Ik wil een query binnen een query uitvoeren, maar hoe ding dit ook al weer in SQL?

Als ik de query (die geen errors geeft) nu print, is dit wat er staat:
quote:
SELECT * FROM Auto WHERE NOT EXISTS (SELECT AutoID FROM Verhuur WHERE Terugbrengdatum => 2006-06-15)
De code is:
1
2
$sql = "SELECT * FROM Auto WHERE NOT EXISTS (SELECT AutoID FROM Verhuur WHERE 
Terugbrengdatum => $datum)"; 


In de tabel Auto staat Volvo C70 met ID 1. De tabel verhuur is leeg.

Iemand een idee hoe dit werkend te krijgen?
pi_38902626
quote:
Op donderdag 15 juni 2006 22:47 schreef LeeHarveyOswald het volgende:
Ik wil een query binnen een query uitvoeren, maar hoe ding dit ook al weer in SQL?

Als ik de query (die geen errors geeft) nu print, is dit wat er staat:
[..]

De code is:
[ code verwijderd ]

In de tabel Auto staat Volvo C70 met ID 1. De tabel verhuur is leeg.

Iemand een idee hoe dit werkend te krijgen?
Volgens mij heten die dingen subqueries http://dev.mysql.com/doc/refman/5.0/en/subqueries.html
Ik ben absoluut geen expert maar kan het niet zijn dat je 2 singlequotes bent vergeten rondom $datum?
  FOK!-Schrikkelbaas donderdag 15 juni 2006 @ 22:59:46 #138
1972 Swetsenegger
Egocentrische Narcist
pi_38902772
quote:
Op donderdag 15 juni 2006 22:47 schreef LeeHarveyOswald het volgende:
Ik wil een query binnen een query uitvoeren, maar hoe ding dit ook al weer in SQL?

Als ik de query (die geen errors geeft) nu print, is dit wat er staat:
[..]

De code is:
[ code verwijderd ]

In de tabel Auto staat Volvo C70 met ID 1. De tabel verhuur is leeg.

Iemand een idee hoe dit werkend te krijgen?
Subqueries, maar die werken pas vanaf MySQL 5.
Maar volgens mij moet dit met een join op te lossen zijn.
pi_38903162
$sql = "SELECT * FROM Auto WHERE NOT EXISTS (SELECT AutoID FROM Verhuur WHERE Terugbrengdatum > '$datum')";

werkt (alleen is auto type de enige die nu wordt weergegeven, maar ik denk dat ik ergens wat kleine hoofdletterfoutjes maak ofzo )
pi_38903459
@LeeHarveyOswald

Je wilt alle auto's opvragen die niet voorkomen in de verhuurlijst met auto's die teruggebracht moeten worden na $datum? Waarom een subquery? Daar zijn JOINs voor:
1
2
3
4
5
SELECT a.*
FROM Auto a
LEFT JOIN Verhuur v ON a.id = v.AutoID
WHERE v.AutoID IS NULL
AND v.Terugbrengdatum > '$datum'
pi_38903667
Die onthoud ik gelijk even (hij werkt nu dus nu laat ik em met rust ... )..

Alleen als ik de regel echo "<tr><td><p><a href='index.php?function=carinfo&carinfo=$AutoID'>$Fabrikantnaam</a></p></td><td>$Type</td><td><p><a href='index.php?function=huur&carid=$AutoID'>$Huurprijs</a></p></td></tr>";

Uitvoer, dan komt C70 (onder Type) een halve regel te laag te staan? :S
pi_38903839
quote:
Op donderdag 15 juni 2006 23:15 schreef JeRa het volgende:
Waarom een subquery? Daar zijn JOINs voor:
In dit geval kan het inderdaad ook makkelijk met een join in plaats van de subquery. De versie met "where not exists(...)" vertelt wel duidelijker wat er gebeurt.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_38903858
Ik ben bezig met het maken van een systeem voor een confirmed opt in nieuwsbriefsysteem. Maar ik zit nu al een tijdje vast. Ik heb een formulier en de waarden daarvan worden verwerkt in een een functie process_nieuwsbrief. Deze functie moet uiteindelijk 3 activiteiten hebben, hij controleert userinput, hij stopt de gegevens in de database en hij verstuurt een email. Om de email te versturen heeft hij het ID nodig van het net in de datase ingevoerde emailadres. De functie ziet er dan ook ongeveer als volgt uit.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if (!eregi $naam)
elseif (!eregi $email)
else {
$datum = date("Y-m-d");
include ("my_config.php");
@mysql_select_db("web")
or die ("kon geen database selecteren");
$query = "INSERT INTO nieuwsbrief SET naam='$naam', emailadres='$email', datum='$datum', actief='no'";
$result = mysql_query($query);
$query2 = "SELECT ID FROM nieuwsbrief WHERE randid='$randid' AND emailadres= '$email'";
$result2 = mysql_query($query2);
if ($result) {echo "u ontvangt een email waarmee u uw aanmelding kan voltooien<br/>";
while (list($id) = mysql_fetch_row($result2))
{ echo $id;}}
else {echo "Uw emailadres is al opgenomen in de database.";}}

Het eerste stuk van de code gaat helemaal goed, hij checked de userinput en zet indien akkoord de gegevens in de database. Alleen het laatse stuk gaat fout. Hij laat de gegevens uit de while loop niet zien geeft ook geen error als ik mysql_erro() toevoeg.
Als ik de code los probeer laat hij wel netjes de gegevens uit de database zien alleen zo niet. Waaraan kan dit liggen??

[ Bericht 10% gewijzigd door ExCibular op 15-06-2006 23:30:05 ]
  FOK!-Schrikkelbaas donderdag 15 juni 2006 @ 23:29:37 #144
1972 Swetsenegger
Egocentrische Narcist
pi_38904063
$id=mysql_insert_id();
pi_38904418
quote:
Op donderdag 15 juni 2006 23:29 schreef Swetsenegger het volgende:
$id=mysql_insert_id();
Dank je wel dat deed de truc!
pi_38920129
tvp

systeem toch maar in mysql aan het zetten... Kon ik beter direct doen...
pi_38942813
Mijn nieuwsbrief werk nu. Alleen is er iets geks aan de hand. local draait hij perfect, alleen nu ik heb hem upgeload weigert hij een MYSQL query uit te voeren. In de email om de aanmelding te bevestigen staat een link en als men daarop klikt moet in de DB actief omgezet worden van no naar yes.

Dat doe ik met de volgende code:
1
2
3
$query = "UPDATE nieuwsbrief SET actief='yes' WHERE ID='$mail_id'";
   $result = mysql_query($query);
   if ($result) {echo "U heeft zich succesvol aangemeld! Binnenkort ontvangt u onze nieuwsbrief.";


Zoals gezegd thuis werkt dit perfect maar op een webserver doet hij dit niet goed. Ik krijg wel de zin de aanmelding is succesvol te zien maar in de DB staat actief nog steed op no.
  FOK!-Schrikkelbaas zaterdag 17 juni 2006 @ 14:28:12 #148
1972 Swetsenegger
Egocentrische Narcist
pi_38943763
1
2
3
4
5
6
7
<?php
$query
= "UPDATE nieuwsbrief SET actief='yes' WHERE ID=".$mail_id;
$result = mysql_query($query);
if (
$result) {
    echo
"U heeft zich succesvol aangemeld! Binnenkort ontvangt u onze nieuwsbrief.";
}
?>


werkt dit wel?
pi_38944672
even een PHP only vraag:

Aan het begin van m'n script define ik enkele constants:

1
2
3
4
5
<?php
define
("EDIT", 4);
define("DEL", 2);
define("DELETED", 1);
?>


Deze waardes wil ik gebruiken voor een simpele button bar, kan ik per entry bepalen welke acties erop uitgevoerd mogen worden, gebruik makend van bitwise operators, even versimpeld:

1
2
3
<?php
ButtonBar
("entry uit database dat geedit of gedelete mag worden", EDIT | DEL);
?>


Deze moet achter de string de 2 knoppen voor editen en deleten weergeven. De functie ButtonBar controleert de flags als volgt (versimpeld):

1
2
3
4
5
6
7
8
9
<?php
function ButtonBar($string, $flags) {
  print
$string;
  if ( (
$flags & EDIT) == EDIT)
    print (
"[ <a href=\"edit.php\">wijzig</a> ]");
  if ( (
$flags & DEL) == DEL)
    print (
"[ <a href=\"delete.php\">delete</a> ]");
}
?>


Probleem is, m'n logs spugen "Use of undefined constant [..]" notices uit, en als ik EDIT of DEL echo dan laat het doodleuk "EDIT" of "DEL" zien in plaats van hun vooraf gedefineerde waardes...

Voor zover ik het begrijp zouden defined constants global te gebruiken moeten zijn dus ook in functies als ButtonBar. Zie ik nu iets over het hoofd dat het script niet werkt zoals het zou moeten?
  zaterdag 17 juni 2006 @ 15:52:18 #150
62687 Ajaxfan
Look out for me
pi_38945521
Ik ben bezig met een simpel login script. Het is me al gelukt om een registratie te laten verwerken in een Mysql database. Alleen nu is het dus de bedoeling dat hij de username en het wachtwoord uit de database haalt. Ik krijg dan de melding die je krijgt als de connectie met de database mislukt is: Sorry kan niet inloggen dus. Ik heb zelf geen idee waar het aan ligt.


Dit is mijn login script:
quote:
</style></head>
<html>

<body>

<p>

<h3>Login</h3><br>

</p>



<form action="login-verwerken.php" method="post">



user name: <input type="text" name="username">

<br>

password : <input type="text" name="wachtwoord">

<br>

<br>

<input type="submit" value="Versturen">



</form>

</body>
</html>
En dit is me login verwerken script:
quote:
<html>

<?php

$host="localhost";
$user="root";
$password="";
$database="leden";
mysql_connect($host,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = ("select username, wachtwoord FROM leden WHERE username='$_POST[username]' AND wachtwoord='$_POST[wachtwoord]'");
$resultaat= mysql_query($query) or die ("Sorry inloggen niet succesvol");
if(mysql_affected_rows()==0){
exit();
}
else{

$user = $_POST['username'];

session_start();

$_SESSION['username'] = $user;
$_SESSION['counter'] = 0;

header('Location: Index.php');
}

?>

</html>
* Ajax * Arsenal * Barca * Fiorentina * Napoli * Leeds *
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')