ERG onhandig dat je divs gebruikt met een onclick. In firefox zie je niet eens een handje (cursor). Dan moet je op de gok gaan klikken en afwachten of er wat gebeurd.quote:Op maandag 3 oktober 2005 20:25 schreef Chandler het volgende:
Tevens comments op me website (stats.bruggema.nl) wat je er bij zou willen zou leuk zijn(qua stats)
Dat is redelijk eenvoudig op te lossen met style="cursor:pointer;cursor:hand;"quote:Op maandag 3 oktober 2005 20:58 schreef SuperRembo het volgende:
[..]
ERG onhandig dat je divs gebruikt met een onclick. In firefox zie je niet eens een handje (cursor). Dan moet je op de gok gaan klikken en afwachten of er wat gebeurd.
Als je een tekst klikbaar wilt maken... niets.quote:
In IE 7 zie ik ook geen handjequote:Op maandag 3 oktober 2005 22:14 schreef Chandler het volgende:
@SuperRembo: Hmm, je hebt inderdaad gelijk het gaat in FF een beetje raar maar dat zou toch aan een fout in FF moeten liggen want de stylesheet is volgens mij correct.
Ja, dat is een oplossing als je een heel vak klikbaar wil maken in plaats van alleen de tekst.quote:@Swetsenegger: je had een oplossing? maar je laat een block iets zien?
maar verder te vreden?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <style> #menu ul{ margin: 0; padding: 0; } #menu ul li{ list-style-type: none; margin:0; padding: 0; } #menu ul li a{ display: block; width: 200px; background-color: #6d7172; padding: 3px 10px; } #menu ul li a:hover{ background-color: #e8ac6e; } </style> </head><body> <div id="menu"> <ul> <li><a href="#">home</a></li> <li><a href="#">news</a></li> <li><a href="#">about</a></li> </ul> </div> </body> </html> |
poging 2quote:Op maandag 3 oktober 2005 09:37 schreef LeeHarveyOswald het volgende:
Ik kom jullie weer is lastig vallen
Ik wil (dmv een PHP pagina) 2 filmpjes achter elkaar afspelen, de filmpjes hebben geen lengte die vast staat (kan dus vandaag zijn dat filmpje A 20 seconde duurt, en morgen slechts 5 seconde).
Hoe kan ik dit mooi aanpakken? Is het mogelijk om te kijken of filmpje A is afgelopen, of dat ik een soort van playlist kan maken?
Thnx!
Iemand anders, dus iemand op een andere site? Dat gaat niet lukken, of je moet zijn cookie kunnen trashen bijvoorbeeld (daar wordt vaak de session ID in opgeslagen).quote:Op dinsdag 4 oktober 2005 00:41 schreef wonderer het volgende:
Even nieuwsgierig, kan ik iemand anders' zijn session be-eindigen? Of moet ie dan per se een pagina met session destroy laden?
Ik gebruik sessies om de index van een fotogalerie te maken en te houden voor de huidige bezoeker. Werkt allemaal prima, tot de index wordt veranderd door een admin (bijvoorbeeld plaatje weggooien), dan klopt ie niet meer. Dus ik vroeg me af of het mogelijk was om alle sessies te vernietigen. De index wordt dan namelijk automatisch opnieuw gemaakt.quote:Op dinsdag 4 oktober 2005 08:06 schreef Chandler het volgende:
tnx Swetsenegger!!! ik zal eens kijken wat ik er mee kan bereiken.
@Wonderer; je kan idd niet anders iemand zijn sessie be-eindigen. Session destroy of session_unregister... maar waarvoor wil je dit gebruiken, misschien zijn er nog andere mogelijkheden
Ja, laatst gewijzigd kan wel, en dan neem ik ook het moment (datetime) van index maken in de sessie op, en dan vergelijken et voila.quote:Op dinsdag 4 oktober 2005 15:15 schreef Chandler het volgende:
yep, je zou het met bv een bestandje met de datetime (last change) moeten aanmaken en die bij iedere keer checken of ie het zelfde is met diegene die in de sessie vermeld staat != anders doe dan verwijderetc!?
Leuk idee?
1 2 3 4 5 6 7 8 9 | Array ( [0] => 2 [1] => 7 [2] => 8 [3] => 9 [4] => 10 [5] => 11 [6] => 11 ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $values = array(2, 7, 8, 9, 10, 11, 11); $prev; $matchCount = 0; $found = false; for ($i = 0; $i < count($values); $i++) { if ($matchCount == 0) { $prev = $values[$i] == 14 ? 1 : $values[$i]; } else if ($prev + 1 == $values[$i]) { $matchCount++; if ($matchCount == 5) { $found = true; break; } } else { $matchCount = 0; } } |
dat zou wel kunnen maar dan moet je het sessieid in de database moeten stoppen en bij elke hit een lastvisit datum er bij moeten opslaan. Als je dan wat wijzigt kun je heel simpel alle sessies mollen die van voor de wijzigingsdatum zijn. De huidige sessie kun je dan afbreken en een nieuwe starten.quote:Op dinsdag 4 oktober 2005 16:03 schreef wonderer het volgende:
Toch jammer dat je sessies niet op afstand kan weggooien
Hm, goed punt, daar had ik zelf aan moeten denken want zo werkt mijn inlogsysteemquote:Op woensdag 5 oktober 2005 08:37 schreef Lamme_Sterfkanarie het volgende:
[..]
dat zou wel kunnen maar dan moet je het sessieid in de database moeten stoppen en bij elke hit een lastvisit datum er bij moeten opslaan. Als je dan wat wijzigt kun je heel simpel alle sessies mollen die van voor de wijzigingsdatum zijn. De huidige sessie kun je dan afbreken en een nieuwe starten.
1 2 3 | <?php $prev = $values[$i] == 14 ? 1 : $values[$i]; ?> |
1 2 3 4 5 6 7 8 9 10 | <?php if($values[$i] == 14 ) { $prev = 1; } else { $prev =$values[$i]; } ?> |
Aha! Grappig... *gaat dat eens bestuderen*quote:Op woensdag 5 oktober 2005 16:40 schreef Darkomen het volgende:
ze;fde a;s
[ code verwijderd ]
alleen dan korter geschreven
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Horloges Seiko Quartz Kinetic Citizen Staal Double Sieraden Colliers Goud Zilver Armbanden Goud Zilver |
Omdat ik producten ook aan een hoofditem of level 1 item moet kunnen koppelen.quote:Op woensdag 5 oktober 2005 17:20 schreef ikke_ook het volgende:
Waarom niet in 1 tabel waarbij je het parentid meegeeft?
Heb je hier wat aan?quote:Op woensdag 5 oktober 2005 17:24 schreef Schanulleke het volgende:
Het staat ongetwijfeld in een van de eerdere delen, maar ik ben op zoek naar een scriptje (+ een basale uitleg) voor een random usericoon. Voor ik alle delen door ga spitten, weet een van de vaste bezoekers van dit topiek misschien waar ik moet zoeken?
Ja je begrijpt me verkeerd. Je kunt toch alle items in 1 tabel zetten en dan door middel van parentID zijn positie aangeven?quote:Op woensdag 5 oktober 2005 17:30 schreef Swetsenegger het volgende:
[..]
Omdat ik producten ook aan een hoofditem of level 1 item moet kunnen koppelen.
Of begrijp ik je verkeerd?
Haha, neequote:Op woensdag 5 oktober 2005 07:52 schreef SuperRembo het volgende:
Gewoon doorheen loopen. Bijhouden hoeveel je gevonden hebt. Voor 't gemak de vorige kaart onthouden en als 't een aas is omzetten naar 1.
[ code verwijderd ]
Niet getest, en 't kan waarschijnlijk nog wel ietsje simpeler. (Is dit ook zo'n php-golf opdracht?)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ### STRAIGHT ### $straightvalues = array( 1 => array( 2, 3, 4, 5, 14 ), 2 => array( 2, 3, 4, 5, 6 ), 3 => array( 3, 4, 5, 6, 7 ), 4 => array( 4, 5, 6, 7, 8 ), 5 => array( 5, 6, 7, 8, 9 ), 6 => array( 6, 7, 8, 9, 10 ), 7 => array( 7, 8, 9, 10, 11 ), 8 => array( 8, 9, 10, 11, 12 ), 9 => array( 9, 10, 11, 12, 13 ), 10 => array( 10, 11, 12, 13, 14 ), ); $straight = array(); for( $x = 1; $x <= count( $straightvalues ); $x++ ) { $straight[$x] = array(); $curhand = array(); for( $y = 0; $y < $cards; $y++ ) { if( in_array( $waarde[$y], $straightvalues[$x] ) && !in_array( $waarde[$y], $curhand ) ) $straight[$x][] = $waarde[$y]; $curhand[] = $waarde[$y]; } } foreach( $straight AS $var => $val ) { $val = count( $straight[$var] ); if( $val == 5 ) { $curstraight = $var; $combi[STRAIGHT] = true; } } |
Ja dit is inderdaad wat ik bedoel.quote:Op woensdag 5 oktober 2005 18:08 schreef ikke_ook het volgende:
[..]
Ja je begrijpt me verkeerd. Je kunt toch alle items in 1 tabel zetten en dan door middel van parentID zijn positie aangeven?
-edit-
Heb je hier wat aan?Of begrijp ik je "probleem" niet goed?
Leesvoer
Nee de PARENT van een level 2 node kan 2 keer voorkomen (de level 1 node dus), welke op hun beurt weer verschillende parents kunnen hebben (level 0 node).quote:Op woensdag 5 oktober 2005 18:54 schreef ikke_ook het volgende:
maakt toch niet uit dat een level 2 node meerdere keren voorkomt?
Ja het moet sneller kunnen, want feitelijk is het hetzelfde als dit met nog een extra laag (en in 1 tabel ipv twee)quote:Op woensdag 5 oktober 2005 19:14 schreef ikke_ook het volgende:
Nou dat moet ook wel met 7 queries lukken swets. Ik kijk eerst welke items PARENT zijn, dat scheelt mij dus een hoop queries... Maar bij een grote tree wordt het wel snel trager idd.
Ik denk eigenlijk dat het ook wel anders moet kunnen met nog minder queries, als je alles eerst al in een array zet (array is sneller dan querie lijkt me toch?), maar dat is mij niet gelukt.
Mjah, ook hier is je diepte beperkt door het aantal kolommen. Betekent altijd een database aanpassing.quote:Op woensdag 5 oktober 2005 19:19 schreef Nevermind het volgende:
De oplossing van ikke_ook lijkt me een stuk praktischer dan wat jij op dit moment in gedachten hebt, Swets. Stel dat je ooit besluit nog een laag toe te voegen, dus tot 4 lagen diep, dan moet je weer een nieuwe tabel er bij maken, erg onpraktisch.
Zoiets zat ik ook te denken. bij elke node geef ik het volledige path (in id's) naar de uiteindelijke level 0 parent:quote:Als je al je items een parent_id geeft, kun je desnoods het hele menu uit de database trekken en met PHP in elkaar zetten. Dan ben je maar 1 query kwijt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | id1 | level 0 id | level 1 id | naam -----+------------+------------+----- 1 | | | Horloges 2 | | | Sieraden 3 | 1 | | Seiko 4 | 1 | | Citizen 5 | 1 | 4 | Quartz 6 | 1 | 4 | Kinetic 7 | 1 | 5 | Staal 8 | 1 | 5 | Double 9 | 2 | | Colliers 10 | 2 | | Armbanden 11 | 2 | 9 | Goud 12 | 2 | 9 | Zilver 13 | 2 | 10 | Goud 14 | 2 | 10 | Zilver |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | © SuperRembo function PrintTree($parentID) { // Get chiled nodes from database $nodes = GetChildNodes($parentID); $n = count($nodes); if ($n>0) { // Print list of child nodes echo '<ul>'; for ($i=0; $i < $n; $i++) { echo '<li>'; echo $nodes[$i]['Name']; PrintTree($nodes[$i]['NodeID']); echo '</li>'; } echo '</ul>'; } } function GetChildNodes($parentID) { $sql = "..."; $result = mysql_query(...); $rows = array(); while (($row = mysql_fetch_assoc($result) !== false) { $rows[] = array( 'NodeID' => ..., 'Name' => ... ) } return $rows; } |
Waar zouden we zijn zonder SuperRemboquote:Op woensdag 5 oktober 2005 19:44 schreef ikke_ook het volgende:
Die van mij is niet beperkt door het aantal kolommen hoorIk heb 1 tabel waar alle(in mijn geval menu-)items in staan. Er staat niet bij welk level ze hebben, puur alleen een verwijzing naar zn parent. Dus mijn manier is op geen manier beperkt.
En zo zou je de hele structuur dan dus kunnen printen:
[ code verwijderd ]
1 2 3 4 5 6 7 | $query = "SELECT * FROM menutable WHERE active = 1 AND parentid = ".$parentID; CREATE TABLE menutable ( mid int(11) NOT NULL auto_increment, name varchar(50) NOT NULL default '', parentid int(11) NOT NULL default '0', ); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | function PrintTree($parentID) { // Get chiled nodes from database $nodes = GetChildNodes($parentID); $n = count($nodes); if ($n>0) { // Print list of child nodes echo '<ul>'; for ($i=0; $i < $n; $i++) { echo '<li>'; echo $nodes[$i]['Name']; PrintTree($nodes[$i]['NodeID']); echo '</li>'; } echo '</ul>'; } } function GetChildNodes($parentID) { $query = "SELECT * FROM menutable WHERE active = 1 AND parentid = ".$parentID; $result = mysql_query($query); $rows = array(); while ($row = mysql_fetch_assoc($result)) { $rows[] = array( 'NodeID' => $row['mid'], 'Name' => $row['name'], ); } return $rows; } |
1 2 3 4 5 6 | <?php //zoiets dus $template = new Template( "templates/index.tpl" ); $template->Assign( "test", "ingevuld" ); $template->PrintTemplate( ); ?> |
1 2 3 4 5 6 | [block=test] Dit is een testblock! [block=genest] genest block met een {replace} er in [/block] [/block] |
Klopt ja, stond ook al in het linkje dat ik gaf dat dat recursieve niet perfect zou zijn.quote:Op woensdag 5 oktober 2005 20:18 schreef SuperRembo het volgende:
Je moet wel een beetje uitkijken met het onderhoud van je groepen. Je moet voorkomen dat je een lus maakt. Bijvoorbeeld groep A heeft subgroep B, groep B heeft subgroep C en C heeft subgroep A.
Bij deze manier van een tree opslaan is het lastig zoeken. je kunt niet met een simpele query alle artikelen selecteren die in groep A en al de onderliggende subgroepen zitten.
Dat probleem heb je niet bij nested sets.
Die nested set stond inderdaad ook in het linkje van ikke_ook.quote:Op woensdag 5 oktober 2005 20:18 schreef SuperRembo het volgende:
Je moet wel een beetje uitkijken met het onderhoud van je groepen. Je moet voorkomen dat je een lus maakt. Bijvoorbeeld groep A heeft subgroep B, groep B heeft subgroep C en C heeft subgroep A.
Bij deze manier van een tree opslaan is het lastig zoeken. je kunt niet met een simpele query alle artikelen selecteren die in groep A en al de onderliggende subgroepen zitten.
Dat probleem heb je niet bij nested sets.
klopt. Het kost een extra update query als je een item insert. Maar het opvragen gaat veel sneller, en dat is wat je veel vaker doet dan een item toevoegen, verplaatsen of verwijderen.quote:Op woensdag 5 oktober 2005 20:34 schreef Swetsenegger het volgende:
[..]
Die nested set stond inderdaad ook in het linkje van ikke_ook.
Maar aangezien de nodes daarbij een links en rechts id hebben, moet je bij elk item wat je toevoegt, alle nodes in je tabel voorzien van nieuwe links rechts id's.... toch?
Ik wilde net editten dat ik het gevonden had in die sitepoint tut.quote:Op woensdag 5 oktober 2005 20:57 schreef SuperRembo het volgende:
[..]
klopt. Het kost een extra update query als je een item insert. Maar het opvragen gaat veel sneller, en dat is wat je veel vaker doet dan een item toevoegen, verplaatsen of verwijderen.
Met nog een paar aanpassingen, en eens goed tellen, ben ik op 59 tekens gekomenquote:Op zondag 2 oktober 2005 22:03 schreef Swetsenegger het volgende:
[..]
OE, samen met ALT 223 kom je dan al op 62 Light
-edit- geeft een parse error
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |