Kolla vad det finns mest av i raderna

PHPportalen Forum Index » PHP Mjukstart
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
linus999



Medlem i: 3477 dagar

Status: Offline



#741012
Inlägg Skrivet: 2016-09-23 01:03      Ämne: Kolla vad det finns mest av i raderna Citera

Svårt att fixa en bra rubrik.
Ska jag ska försöka förklara så pass bra som jag kan.

Jag har en tabell som ser ut såhär.



På något sätt ska jag kolla vilket av alternativen 1-4 som har använts mest i fraga1- fraga9.
Har tex. "1" använts mest, så uppdateras databasen med ett speciellt värde, samma sak med 2, 3 och 4.

Någon som vet hur jag kan gå till väga? Tack för svar!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Azreal
Administratör



Medlem i: 4915 dagar
Från: Uppsala, bor i Göteborg
Status: Offline



#741013
Inlägget är accepterad som det rätta svaret Skrivet: 2016-09-23 07:01      Ämne: Citera

Databas designen känns sådär Smile

Du borde nog haft en rad per fråga. Inte alla frågor i samma tabell.
Typ: id, fråga,fråga_värde, user_id, fråge_id

Då hade du kunnat ställa en fråga som först räknar alla fråge_värde samt gruopera för att sedan sortera på högsta värdet.

Det är säkert möjligt att göra med din nuvarande design med, vet dock inte hur.
Är nog enklare att göra i php.
 

_________________
Konsultation via PM, inte gratis.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
harald_b
Moderator



Medlem i: 4656 dagar
Från: Tavesta
Status: Offline



#741014
Inlägget är accepterad som det rätta svaret Skrivet: 2016-09-23 12:06      Ämne: Citera

Man kan ju alltid lösa det här med php:

PHP:
1:
 $rad rad från databasen
2:
$speciella_värden = array(
3:
   1=>'Speciellt värde för ett',
4:
   'Speciellt värde för två',
5:
   'Speciellt värde för tre',
6:
   'Speciellt värde för fyra'
7:
);
8:
$a array_fill(1,4,0);//En array med de olika talen som nycklar, för att räkna vilket som förekommer mest
9:
for($i 1$i<=9$i++) $a[$rad["fraga$i"]]++; //Räkna de olika talen i fraga1 - fraga9
10:
arsort($a);//Sortera resultatet med störst först
11:
//Leta upp det speciella värdet som matchar det första och största elementet i arrayen $a:
12:
echo $speciella_värden[key($a)];  
 

_________________
R.r - Ett fritt affärssystem
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
linus999



Medlem i: 3477 dagar

Status: Offline



#741017
Inlägg Skrivet: 2016-09-23 13:31      Ämne: Citera

Tack för svaren!
Jag borde nog på Azreal's tips att göra om strukturen. Känns som att det blir enklast så!

Tack för kodsnutten Harald, ska ta mig en titt på den!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP Mjukstart
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic