abonnement Unibet Coolblue Bitvavo
pi_66676492
lama

[ Bericht 98% gewijzigd door daReaper op 04-03-2009 01:49:53 ]
Trotse poster van het 37000000ste bericht ^O^
  woensdag 4 maart 2009 @ 09:01:48 #102
56176 Catch22-
Ben je Blind?!
pi_66679641
quote:
Op maandag 2 maart 2009 23:13 schreef Light het volgende:

[..]

Bij een void mag je niets teruggeven. Je moet je nog steeds aan de declaratie houden.
Ik vind dat wel prettig programmeren.

Evenals gewoon types aan je variabelen geven, het schept gewoon veel meer duidelijkheid.
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  woensdag 4 maart 2009 @ 10:54:49 #103
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66682576
quote:
Op maandag 2 maart 2009 22:44 schreef Light het volgende:

[..]

Als je Javascript bedoelt, zou je best eens gelijk kunnen hebben. Als je echt Java bedoelt niet, daar moet je een return type opgeven. bij het declareren van een functie. En dan moet je ook iets van dat type teruggeven.
Maar dat kan je weer oplossen met een template
pi_66707253
Ik probeer een fotoalbum in mijn site in te bouwen. Ik heb hiervoor Plogger gedownload, nadat ik erachter kwam dat deze eenvoudig binnenin een site in te bouwen is door enkel 2 functies op de juiste momenten aan te roepen. Nou stuit ik echter op 1 probleem:

Ik werk zelf met templates, wat er op neer komt dat alle output pas aan het eind van het script wordt "geprint". Plogger werkt echter met directe prints, waardoor alles helemaal in de soep loopt. Op dit moment ziet mijn script er zo uit:

1
2
3
4
5
6
<?php
if ($page == "fotos") { ////////// FOTO'S ////////////
  
$site->AddParam("GALLERY_HEAD",the_gallery_head());
  
$content the_gallery();
}
?>


de functies "the_gallery_head()" en "the_gallery()" printen dus direct hun info, maar ik wil eigenlijk dat al die prints dus worden geredirect naar bijvoorbeeld $content. Is er een mogelijkheid om dit te doen?
Trotse poster van het 37000000ste bericht ^O^
  woensdag 4 maart 2009 @ 21:40:24 #105
75592 GlowMouse
l'état, c'est moi
pi_66707599
Een andere gallery gebruiken (gallery.sf.net) of output bufferen.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_66707764
quote:
Op woensdag 4 maart 2009 21:40 schreef GlowMouse het volgende:
Een andere gallery gebruiken (gallery.sf.net) of output bufferen.
Ik heb naar gallery gekeken, maar die is te moeilijk in mijn site te integreren... Ik ga kijken naar dat gebuffer.
Trotse poster van het 37000000ste bericht ^O^
pi_66707772
quote:
Op woensdag 4 maart 2009 21:31 schreef daReaper het volgende:
Ik probeer een fotoalbum in mijn site in te bouwen. Ik heb hiervoor Plogger gedownload, nadat ik erachter kwam dat deze eenvoudig binnenin een site in te bouwen is door enkel 2 functies op de juiste momenten aan te roepen. Nou stuit ik echter op 1 probleem:

Ik werk zelf met templates, wat er op neer komt dat alle output pas aan het eind van het script wordt "geprint". Plogger werkt echter met directe prints, waardoor alles helemaal in de soep loopt. Op dit moment ziet mijn script er zo uit:
[ code verwijderd ]

de functies "the_gallery_head()" en "the_gallery()" printen dus direct hun info, maar ik wil eigenlijk dat al die prints dus worden geredirect naar bijvoorbeeld $content. Is er een mogelijkheid om dit te doen?
Yep, kijk eens naar ob_start() en gerelateerde functies.
pi_66707812
quote:
Op woensdag 4 maart 2009 21:44 schreef daReaper het volgende:

[..]

Ik heb naar gallery gekeken, maar die is te moeilijk in mijn site te integreren...
Je kunt ook zelf een gallery bouwen
pi_66708687
Het heeft even wat moeite gekost, maar ik heb 'm eindelijk:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
if ($page == "fotos") { ////////// FOTO'S ////////////
  
ob_start();
  
the_gallery_head();
  
$gallery_head ob_get_contents();
  
ob_clean();
  
$site->AddParam("GALLERY_HEAD"$gallery_head);
  
the_gallery();
  
$content =& new Template(array(
    
"text"=>ob_get_contents(),
    
"die_on_bad_params"=>0,
  ));
  
ob_end_clean();
}
?>
Trotse poster van het 37000000ste bericht ^O^
pi_66759751
Beste mensen,

Ik ben momenteel bezig om een menu door een database aan te sturen. Dat is inmiddels al gelukt, alleen wil ik er nu ook een dropdown menu van maken. Het dropdown gedeelte doe ik dmv een style sheet.

Het enige wat ik niet voor me kaar kan krijgen is dat de submenu items naast het menu item waar het bijhoort komt.

Zo ziet de database eruit:

Menu
menu_id
pagina_id
menu_volgorde

Submenu
submenu_id
pagina_id
menu_id

In het submenu komt dus het menu_id te staan van het menu waar het onder hoort te komen staan.

Nou ziet de code er als volgt uit.
Code van het menu:
1
2
3
4
5
6
7
8
9
10
11
<?php
$Menu_Query 
$Sql->Query("SELECT * FROM menu ORDER BY menu_volgorde ASC");
while(
$Menu mysql_fetch_array($Menu_Query)) {

$Menu_naam $Txt->safeoutput($Menu['menu_naam']);
$Pagina_id $Txt->safeoutput($Menu['pagina_id']);

$Tpl->newBlock('MENU');
$Tpl->Assign('MENU_NAAM'$Menu_naam);
$Tpl->Assign('PAGINA_ID'$Pagina_id);
?>


En de code van het submenu heb ik als volgt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$Submenu_Query 
$Sql->Query("SELECT m.*, s.* FROM menu m, submenu s WHERE m.menu_id = s.menu_id");
while(
$Submenu mysql_fetch_array($Submenu_Query)) {

if( 
$Sql->Count($Submenu_Query) != ){
$Submenu_naam $Txt->safeoutput($Submenu['submenu_naam']);
$Pagina_id $Txt->safeoutput($Submenu['pagina_id']);

$Tpl->newBlock('SUBMENU');
$Tpl->Assign('SUBMENU_NAAM'$Submenu_naam);
$Tpl->Assign('PAGINA_ID'$Pagina_id);
}
}
?>


Ik moet het voormekaar krijgen om er een check in te krijgen dat hij bij elk menu item gaat kijken of er submenu items zijn. Dit krijg ik echter nog niet voormekaar.

Kan / wil iemand mij even uit de brand helpen? :) Want weet echt niet meer hoe ik dit moet aanpakken :X
  vrijdag 6 maart 2009 @ 11:55:45 #111
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66760694
Wat je wil is een JOIN waardoor als er voor een menu_id geen submenu_id is, de waardes NULL erin komen te staan, waar je op kan toetsen.

Trouwens counten op !=0 heeft weinig effect want als er een zero result set is, komt hij volgens mij niet eens de fetch-while-loop in.
  vrijdag 6 maart 2009 @ 13:16:52 #112
56176 Catch22-
Ben je Blind?!
pi_66763412
Je kan een subselect maken

1SELECT * FROM menu WHERE menu_id IN (SELECT menu_id FROM submenu)

dan krijg je alles terug met een submenuitem.

1SELECT count(*) FROM menu WHERE menu_id IN (SELECT menu_id FROM submenu) AND menu_id = '$menuId'

je krijgt 1 terug als hij submenuitems heeft of niet.

Je opzet is niet echt mooi moet ik zeggen. Je kan misschien beter gewoon 1 tabel aanhouden met beide menu's en een parent_id er bij. Dan kan je hetzelfde en eventueel zelfs een extra laag er in maken.

Het submenu is namelijk gelijk aan het menu, buiten dat er een parent is. En je hebt zo geen order in je submenu. Daarbij kan je dan alle klassen e.d. voor alle menu's gebruiken. Maar dit is enkel een tip
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_66763470
quote:
Op vrijdag 6 maart 2009 13:16 schreef Catch22- het volgende:

Je opzet is niet echt mooi moet ik zeggen. Je kan misschien beter gewoon 1 tabel aanhouden met beide menu's en een parent_id er bij. Dan kan je hetzelfde en eventueel zelfs een extra laag er in maken.
Eensch Een submenu item is in pricipe eenzelfde entitiet als een hoofdmenu item, alleen dan met een parent item.
  vrijdag 6 maart 2009 @ 14:28:34 #114
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66766395
Wat ze denk ik bedoelen is dat er voor elk menu slechts één submenu kan zijn, terwijl jouw 2 tabellen suggereren dat er willekeurige koppelingen (dus ook 2 submenu's voor 1 menu) mogelijk zijn. Beide situaties zijn niet per sé incorrect, dat hangt van je bedoeling af. Ik kan me ook voorstellen dat je de mogelijkheid wilt dat er meerdere submenu's samengevoegd in één menu komen... Zo niet dan is je huidige oplossing inderdaad niet optimaal.

Echter de oplossing van één menutabel met per menu evt. een parent sluit geen cirkelkoppelingen uit waar een script behoorlijk van op z'n bek kan gaan (menu 1 heeft menu 2 als parent en menu 2 heeft menu 1 als parent). Dit vereist wel weer 2 tabellen met een constraint dat de foreign key menu_id (of parent_id beter gezegd) uniek is in dat tabel.

@Catch_22: schoonheidsopmerking: IN-statements zijn performancekilling als z'n tabel groot wordt, want elke keer moet hij die hele lijst van ID's af om te zien of het betreffende ID daarin staat. Een JOIN doet dat onder de motorkap en stukken sneller, vooral als er een index aanwezig is. Je 2e query is namelijk exact een RIGHT JOIN verwoord in pre-JOIN-tijdperk SQL
pi_66766830
Hoe voer ik een query uit na een submit?

Heb nu:
1
2
3
if(!empty($_POST["submit"]))

$query = "INSERT INTO besparingsformulieren (voornaam,achternaam) VALUES ($Voornaam,$Achternaam)";
pi_66767009
Ik zet altijd een variabele 'action', op basis waarvan ik een handeling ga uitvoeren
  vrijdag 6 maart 2009 @ 14:49:02 #117
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66767133
quote:
Op vrijdag 6 maart 2009 14:40 schreef Nashje het volgende:
Hoe voer ik een query uit na een submit?

Heb nu:
[ code verwijderd ]
Daar is isSet voor, en dan dien je tegelijk ook te controleren of ál je variabelen die je wilt invoeren geSet zijn En als je het helemaal netjes wilt doen moet er natuurlijk nog een anti-injection over de variabelen heen.
pi_66767297
quote:
Op vrijdag 6 maart 2009 14:49 schreef Lekkere_Kwal het volgende:

[..]

Daar is isSet voor, en dan dien je tegelijk ook te controleren of ál je variabelen die je wilt invoeren geSet zijn En als je het helemaal netjes wilt doen moet er natuurlijk nog een anti-injection over de variabelen heen.
Ja dat doet ie al. Onder de if empty submit komen enkele variabelen die die dan ophaalt. Daarom wil ik die query daar ook onder zetten. Als de variabelen zijn opgehaald moet ie die vervolgens in de database gooien met INSERT.
  vrijdag 6 maart 2009 @ 14:58:51 #119
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66767547
Ja ipv empty gebruik isset:
1
2
3
4
5
6
7
8
<?php
if (isset($_POST['submit'])){
 if(isset(
$_POST['voornaam']) && isset($_POST['achternaam'])){
   
// hier $Voornaam en $Achternaam ophalen en filteren
   
$query "INSERT INTO besparingsformulieren (voornaam,achternaam) VALUES ($Voornaam,$Achternaam)";
 }
}
?>

Ik vraag me trouwens wel af hoe nuttig je database-tabel is met alleen een voornaam en achternaam (wat als er 2 Jan Jansens zijn?), maar wellicht is dat alleen een voorbeeldje van je.
  vrijdag 6 maart 2009 @ 15:01:46 #120
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66767648
quote:
Op vrijdag 6 maart 2009 14:45 schreef Xcalibur het volgende:
Ik zet altijd een variabele 'action', op basis waarvan ik een handeling ga uitvoeren
Action is toch al een 'gereserveerd' FORM attribuut? Dat specificeert welke pagina (de URI letterlijk) wordt opgevraagd als je op Submit klikt, waarbij de waarde NULL staat voor de huidige pagina. nvm

[ Bericht 7% gewijzigd door Lekkere_Kwal op 06-03-2009 15:24:46 ]
pi_66768093
quote:
Op vrijdag 6 maart 2009 15:01 schreef Lekkere_Kwal het volgende:

Action is toch al een 'gereserveerd' FORM attribuut? Dat specificeert welke pagina (de URI letterlijk) wordt opgevraagd als je op Submit klikt, waarbij de waarde NULL staat voor de huidige pagina.
Dus? Dat heeft toch helemaal niets te maken met de namen van je inputs?
  vrijdag 6 maart 2009 @ 15:24:57 #122
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66768447
quote:
Op vrijdag 6 maart 2009 15:14 schreef Roy_T het volgende:

[..]

Dus? Dat heeft toch helemaal niets te maken met de namen van je inputs?
Oeps inderdaad
pi_66768564
Dat doet ie niet, in ieder geval, hij schrijft de gegevens niet weg in de database .
pi_66768635
quote:
Op vrijdag 6 maart 2009 14:58 schreef Lekkere_Kwal het volgende:
Ik vraag me trouwens wel af hoe nuttig je database-tabel is met alleen een voornaam en achternaam (wat als er 2 Jan Jansens zijn?), maar wellicht is dat alleen een voorbeeldje van je.
Klopt. Ik doe dit eerst effe om het werkend te maken, later als het werkt komen er ook nog personeelsnummer, telefoonnummer en woonplaats bij.
  vrijdag 6 maart 2009 @ 15:34:25 #125
117367 Lekkere_Kwal
Onnozele koekenbakker
pi_66768769
quote:
Op vrijdag 6 maart 2009 15:28 schreef Nashje het volgende:
Dat doet ie niet, in ieder geval, hij schrijft de gegevens niet weg in de database :{.
Welke error geeft hij terug? Probeer in ieder geval even een vaste input-query (dus die variabelen vaste waardes geven om te checken dat de query überhaupt werkt). Als dat werkt eventjes:
1
2
3
4
<?php
// na isset-controles
print_r($_POST);
?>

Zodat je kan zien wat er daadwerkelijk binnenkomt vanuit via POST (wellicht heb je per ongeluk de methode nog op GET staan).
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')