query opbouwen en resultaten afdrukken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Molovhic designer

Molovhic designer

20/03/2016 02:44:44
Quote Anchor link
Allen

Daar ik absoluut geen kennis van php heb (alleen html en css) vraag ik om jullie hulp.
Ik heb een basic query die ik wil laten draaien maar niet alles verloopt volgens plan.
Zit nu een paar dagen alle mogelijke site's af te schuimen voor een oplossing, maar daar ik
weinig van php begrijp krijg ik het niet opgelost.

In onderstaande script is het de bedoeling om in 5 kolommen resultaten te krijgen.
De eerste query krijg ik gedaan en krijg men usernames te zien.
In de 2 de <td> zouden diezelfde usernames moeten geteld moeten worden (hoeveel keer ze in
de database voorkomen = query2) Deze krijg ik niet gefixt, ik vermoed dat
de while daar voor iets tussen zit.

Hopelijk kan iemand mij op weg helpen.
Thx!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$query
="SELECT DISTINCT`User Name` FROM `table 2` ORDER BY `User Name` ASC";
$result = mysql_query($query);
$query2="SELECT `User Name` count(*) FROM `table 2`";
$result2 = mysql_query($query2);
?>

<table id="performancetable">
<tr class="titels"><td>User Name</td><td>Picked Lines Total</td><td>Total %</td><td>Worked Hours</td></tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
while($row=mysql_fetch_array($result)){
    echo("<tr>
    <td>"
.$row['User Name']."</td><td>[b][u]??query2???[/u][/b]</td><td></td><td></td>
    </tr>"
);
}

?>

</table>
Gewijzigd op 20/03/2016 02:52:29 door Molovhic designer
 
PHP hulp

PHP hulp

16/11/2024 02:40:56
 
Jan R

Jan R

20/03/2016 08:07:32
Quote Anchor link
Je moet je veld groeperen

select 'user name',count(veld2) as aantal from 'table 2' group by 'user name'
Het 2° kan je dan aanroepen met $row['aantal']

Verder Gebruik duidelijke veldnamen. probeer spaties in veld en tabel namen te vermijden.
Gebruik niet mysql commando's maar mysqli commando's. mysql is verouderd en wordt niet meer ondersteund.

Je spreekt van 5 kolommen maar er staan er maar 2. mogelijks zal je dus nog sum of zo ook nodig hebben.

Jan
 
John D

John D

20/03/2016 10:03:33
Quote Anchor link
select `user name`,count(*) as aantal from `table 2` group by `user name`
query 2 is daarmee overbodig en kan vervallen.
Probeer inderdaad met veldnamen zonder spatie te werken en laat de backtics: ` weg
Gewijzigd op 20/03/2016 10:10:01 door John D
 
Molovhic designer

Molovhic designer

20/03/2016 15:36:03
Quote Anchor link
Nice guys, het werkt.
de mysqli krijg ik niet echt omgezet dan geef hij errors aan, dus daar moet ik nog wat opzoekwerk doen.
De kolomnamen komen uit een csv file die in de database zit dus als ik de spatie weglaat krijg ik ook errors..
idem voor de backtics, als ik ze weglaat krijg ik alleen maar errors..

Voorlopig heeft deze het opgelost, en idd in de overige kolommen gaan formules moeten komen (vb zoals excel =SUM(IF(COUNTIFS maar dan php..)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$query
="SELECT `User Name`,count(`User Name`) AS aantal FROM `table 2` GROUP BY `User Name`";
$result = mysql_query($query);
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
while($row=mysql_fetch_array($result)){
    echo("<tr>
    <td>"
.$row['User Name']."</td>
    <td style='text-align:center;'>"
.$row['aantal']."</td>
    <td></td>
    <td></td>
    </tr>"
);
}

?>
 
- SanThe -

- SanThe -

20/03/2016 15:51:35
Quote Anchor link
In kolom en veldnamen mogen geen spaties.
Daarom moet je backtics gebruiken.
Maar beter geen backtics maar een goede naam geven.

SELECT `User Name`

Vervang de spatie bv. door een underscore.

SELECT User_Name
 
Thomas van den Heuvel

Thomas van den Heuvel

20/03/2016 17:11:13
Quote Anchor link
Daarnaast, wanneer zijn twee usernames hetzelfde? Mogelijk is het veld User Name case-sensitive. In dat geval zijn henk, Henk en HENK alle "verschillende" gebruikersnamen? Mogelijk staan er ook voor en achter de gebruikersnamen spaties? En zo zijn er mogelijk nog meer nuances.

Ik zou in ieder geval een ORDER BY `User Name` toevoegen, dan komen sommige van dit soort zaken mogelijk direct naar voren (weet ook niet precies met hoeveel gebruikersnamen je van doen hebt).
 
Molovhic designer

Molovhic designer

20/03/2016 18:42:13
Quote Anchor link
Thomas, gebruikersnamen hangen af van dag tot dag, bedoeling is dus dat deze query heel het bestand uitleest en al die namen gaat opsommen enz. User Name is idd case-sensitive vermits "user name" niet werkte..
Voorlopig werkt het nu en we leren bij! alvast bedankt voor de suggesties en opmerkingen.
 
Thomas van den Heuvel

Thomas van den Heuvel

20/03/2016 20:38:04
Quote Anchor link
Ik bedoelde niet de naam van de kolom maar de waarde van die kolom in de verschillende records...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.