Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2011-08-01, 07:11
  #13
Medlem
Citat:
Ursprungligen postat av rjonsson
Om det hade gällt talen 4 och 6 då? Det är inte alltid MGN är tal1 * tal2. 4*6=24 men båda talen är jämt delbara med 12.

Men om det är som du säger så skulle de ju skriva ut två ggr på tex 12? dvs fastna i två if block. Var väl inte uppgiften?

Det är väl det faktum att 3 och 5 är primtal som gör att det fungerar.
__________________
Senast redigerad av isato 2011-08-01 kl. 07:17.
Citera
2011-08-01, 14:38
  #14
Medlem
jonthe12s avatar
Citat:
Ursprungligen postat av Jimmit
Jag tänkte att det skulle vara ganska roligt för oss som inte läser webbprogrammering för närvarande att ta del av en del labbar ni som gör det får. Åtminstone skulle det vara trevligt för mig personligen då jag f.n. är arbetslös och endast söker jobb dagarna i ända, att ha något annat att pula med.

Gradera gärna uppgiften, vilken nivå den ligger på, (G-MVG eller 1-5 spelar ingen roll).

Hoppas någon har lust att bidra med någon uppgift iaf.

Kan ge dig massor nar jag borjar skolan igen da de har massa uppgifter pa deras naet (nyborjarniva och lite svarare), de aer inte php utan python men det aer ju liknande uppgifter.

Rolig trad, skulle sjalv vilja ha nagra uppgifter fast hogre niva. Sista aren pa hogskola typ? har sett sa fa sanna..

har inte ] ' ; har tyvarr
Citera
2011-08-01, 15:14
  #15
Medlem
Jimmits avatar
Jävlar, 13 inlägg! Kul att tråden tog fart!

Citat:
Ursprungligen postat av korg
Skriv ett pollsystem där användaren enbart kan rösta en gång, man skall kunna ha obegränsat med frågor samt ha stöd för fler svarsalternativ än ett.
Poll-systemet kan bli en kul uppgift, ska ge mig på den ikväll tror jag!



Hittade en på nätet som också kan bli trevlig. Det handlar om att bygga en meny med PHP & MySQL som ska kunna ha 2 sub-nivåer. Alltså:

Start
- Nyheter
- Twitter
-- Mitt flöde
-- Trender

Typ.
Citera
2011-08-01, 15:42
  #16
Medlem
Citat:
Ursprungligen postat av Jimmit
Hittade en på nätet som också kan bli trevlig. Det handlar om att bygga en meny med PHP & MySQL som ska kunna ha 2 sub-nivåer. Alltså:

Start
- Nyheter
- Twitter
-- Mitt flöde
-- Trender

Undernivåer har jag haft lite problem med. Inte problem att skapa i sig, men problem att få snygg, strukturerad och enkel/snabb kod. Vore intressant att se hur ni andra löser denna. Har skapat just ett sånt här menysystem där man har 2 nivåer, samt kan byta position på varje enhet, men är långt ifrån nöjd. I mitt fall skall man alltså enbart visa undernivån för den menyenhet som valts.
Citera
2011-08-01, 19:01
  #17
Medlem
z0mfg(ish)s avatar
Eller så knackar man ihop en rekursiv funktion och jobbar med "parents" i databasen och kan ha hur många undernivåer som helst i ett menysystem.
Citera
2011-08-01, 22:46
  #18
Medlem
Citat:
Ursprungligen postat av z0mfg(ish)
Eller så knackar man ihop en rekursiv funktion och jobbar med "parents" i databasen och kan ha hur många undernivåer som helst i ett menysystem.

Kan inte kika just nu, men tror databasstrukturen ser ut ungefär såhär:

id
parent
position
name
link

Jag vet inte riktigt hur jag skall hämta ut allt smidigast. Just nu hämtar jag ut allt och tilldelar sedan en "parent" sina "children" genom 2 stycken loopar. Den första loopen tar reda på vilken parenten är för att kunna markera den med en annorlunda CSS och sparar en variabel $parentId. Den andra loopen letar sedan efter children som har db.parent = $parentId.

Problemet med detta tillvägagångssätt är ju att det krävs 2 loopar och man hämtar ur alla children som man egentligen inte behöver. Jag antar att det andra sättet är 2 st SQL queries men frågan är vilket som är smidigast om man inte räknar med att ha allt för många rader i just denna tabell i databasen.

Denna "lösning" skulle kunna klara av att ett children faktiskt har ett eget children, men koden som genererar HTML har inget stöd för det i nuläget.
__________________
Senast redigerad av Ettglasintetre 2011-08-01 kl. 22:51.
Citera
2011-08-02, 05:39
  #19
Medlem
z0mfg(ish)s avatar
Såhär nånting (kan finnas fel, helt skrivet på frihand, otestat och dessutom inte sovit något inatt...):

Kod:
function menu($parent 0)
{
    
$sql "SELECT * FROM menu WHERE parent = ".$parent;
    
$result mysql_query($sql);
    
    
$num_rows mysql_num_rows($result);
    
    if(
$num_rows == 0)
    {
        
// finns inga meny-val med nuvarande parent, alltså inga undermenyer
    
}
    else
    {
        
// det finns menyval med nuvarande parent, så vi skriver ut dem:
        
        
while($row mysql_fetch_array($result))
        {
            echo 
$row['name'];
            
// nu vill vi även hämta dennes undermenyer, så vi vill välja ut de som har nuvarande meny som parent
            
menu($row['id']); // funktionen menu() körs igen, fast med nuvarande menyvals ID som parent
            // och sen går loopen vidare
        
}
    }

Citera
2011-08-02, 07:58
  #20
Medlem
metapods avatar
Citat:
Ursprungligen postat av z0mfg(ish)
Såhär nånting (kan finnas fel, helt skrivet på frihand, otestat och dessutom inte sovit något inatt...):

Kod:
function menu($parent 0)
{
   ...


Ovanstående är säkerligen helt fungerande (i alla fall i teorin, har inte testat koden och tänker inte göra det heller). Men i praktiken är lösningen oerhört prestandakrävande och andra metoder med samma resultat bör användas.

Exempelvis är det ofta bättre att använda sig utav en lösning som hämtar alla entries i tabellen menu via MySQL och sedan strukturerar upp dem på PHP-sidan så att det sker så få SQL-frågor som möjligt.

En vanlig lösning är att man hämtar alla rader från sin tabell och sedan sätter ihop en nested array med barnen som barn till deras parent (missförstå mig rätt).
Citera
2011-08-02, 13:22
  #21
Medlem
Jimmits avatar
Håller med metapod här, jag skulle bygga upp den enligt liknande tror jag. Inte heller testad, men teorin lär väl fungera?

Kod:
$sql "SELECT * FROM menu ORDER BY position";
$result mysql_query($sql);

while (
$m mysql_fetch_assoc($result)) {
   if (
$m['parent'] == '0') {
      
$top_menu[$m['id']]['name'] = $m['name'];
      
$top_menu[$m['id']]['link'] = $m['name'];
   } else {
      
$sub_menu[$m['id']]['name'] = $m['name'];
      
$sub_menu[$m['id']]['link'] = $m['link'];
      
$sub_menu[$m['id']]['parent'] = $m['parent'];
      
$top_menu[$m['id']]['child']++;
   }
}

function 
menu($top,$sub) {

   
$menu '<ul>';

   foreach (
$top as $pkey => $p) {
      
$menu .= '<li><a href="'.$p['link'].'">'.$p['name'].'</a>';

      if (
$p['child'] > 0) {
         
$menu .= '<ul>';
         foreach (
$sub as $skey => $s) {
            
$menu .= '<li><a href="'.$s['link'].'">'.$s['name'].'</a></li>';
         }
         
$menu .= '</ul>';
      }
      
$menu .= '</li>';
   }
   
$menu .= '</ul>';

   return 
$menu;
}


echo 
menu($top_menu,$sub_menu); 
Citera
2011-08-02, 14:22
  #22
Medlem
Citat:
Ursprungligen postat av metapod
En vanlig lösning är att man hämtar alla rader från sin tabell och sedan sätter ihop en nested array med barnen som barn till deras parent (missförstå mig rätt).

Jag var lite orolig över att hämta alla rader från tabellen då man plockar ut väldigt mycket onödig information (då man i mitt fall man inte alls behöver ha tillgång till barnen för alla rader utom en). Dock valde jag att göra min lösning på just det sättet då jag också fått för mig att man inte skall dra iväg för många SQL-förfrågningar. Sedan så snackar vi nog max ett 50-tal rader i tabellen oavsett, men ändå känns det lite fel när man bara behöver 10-15 åt gången.
Citera
2011-08-03, 19:06
  #23
Medlem
Citat:
Ursprungligen postat av korq
Försöker memorera detta, kanske inte är helt vad dom frågade efter, men fick iallafall detta att lösa till en jobbansökan.

Första uppgiften:

Skriv ett program som skriver ut texten "Google" om ett tal är jämt delbart med 3, skriv ut "Yahoo" om talet är jämt delbart med 5, skriv ut "Yahoogle" om svaret är jämt delbart med 3 och 5"
nummer som används 0-100.

Andra uppgiften:

Skriv ett pollsystem där användaren enbart kan rösta en gång, man skall kunna ha obegränsat med frågor samt ha stöd för fler svarsalternativ än ett.

Hur gick det då. Fick du jobbet?
Citera
2018-04-29, 18:38
  #24
Medlem
Olanzapines avatar
Jag bumpar denna tråd. Om någon pluggar PHP för tillfället och vill dela med sig av lite skoluppgifter så vore jag mycket tacksam!
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback