Moeilijke php vraag - Gemiddelde uitrekenen in mysql

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

A Kuijk

A Kuijk

27/10/2011 22:10:05
Quote Anchor link
Ik ben op een ingewikkelde fase aangekomen in mijn website. Ik wil een soort van review optie schrijven.

Daar wil ik 2 verschillende databases die ik al heb voor gebruiken.

De eerste database A bestaat uit de gebruikers waar mensen een cijfer aan kunnen geven. De 2e database B bestaat uit de cijfers (reviews)

Mijn website bestaat in zijn geheel uit php. Als een gebruiker pagina geopend wordt, dan worden alle gegevens uit database A gehaald en wordt de pagina gevuld met informatie. Nu moet deze pagina ook het gemiddelde review cijfer ophalen.

Het script moet als volgt gaan werken. Als deze geopend wordt dan word de userid opgehaald uit database A. Deze userid moet matchen met alle userid's uit database B en het gemiddelde uitrekenen van de reviewcijfers die hier aan gekoppeld zijn.

Kan iemand mij beginnetje geven?
 
PHP hulp

PHP hulp

23/04/2024 13:38:36
 

27/10/2011 22:15:57
Quote Anchor link
Waarom moet je twee databases daarvoor gebruiken?
Eentje is toch genoeg met daarin de twee tabellen die je nodig hebt.
 
Jorg Heesbeen

Jorg Heesbeen

27/10/2011 22:16:02
Quote Anchor link
mysql_query('SELECT * FROM database_name.table_name');
Gewijzigd op 27/10/2011 22:16:26 door Jorg Heesbeen
 
A Kuijk

A Kuijk

30/10/2011 13:39:09
Quote Anchor link
Dank voor de reacties. Dit gaat helaas niet lukken. Misschien dat iemand mij kan helpen om dit op een andere manier te doen.

Ik heb verschillende records met teksten in een varchar.

Bijv:
1. Goed gedaan, een 8
2. Matig, 7
3. Slecht maar toch een 6

Is het mogelijk om met php het laatste nummer te pakken uit deze records en daar het gemiddelde van te berekenen?
 
B a s
Beheerder

B a s

30/10/2011 13:41:15
Quote Anchor link
Staat er altijd maar één cijfer per regel?
 
A Kuijk

A Kuijk

30/10/2011 13:42:57
Quote Anchor link
Ja

Toevoeging op 30/10/2011 21:56:58:

Ik kom er gewoon niet uit. Als je normaal gesproken een gemiddelde wilt uitrekenen dan gebruik je AVG met MYSQL maar ik moet eerst het cijfer uit de tekst halen met preg_match o.i.d? En daarna het gemiddelde uitrekenen met PHP lijkt mij?

Heeft iemand een idee? Alle hulp is van harte welkom!



Toevoeging op 30/10/2011 22:32:39:

Ik heb nu de volgende code gemaakt. Ik krijg nu:
8
7
6

Weet iemand hoe ik hier nu het gemiddelde uit krijg?

//CONNECTION MADE

$query = "SELECT review FROM reviews ";

$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if ($numrows > 0){

while ($row = mysql_fetch_assoc($query)){
$review = $row['review'];
$id = $row['id'];

$string = "$review";
preg_match('/\d+/', $string, $number);
$number = $number[0];

echo "
$number
";
}
}
 
Peter Sanders

Peter Sanders

15/11/2011 13:00:18
Quote Anchor link
Je kan toch gewoon het cijfer ophogen in de while loop? ZOiets als dit bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$query = "SELECT review FROM reviews ";

$query = mysql_query($query);
$numrows = mysql_num_rows($query);
if ($numrows > 0){
 while ($row = mysql_fetch_assoc($query)){
  $review = $row['review'];
  $id = $row['id'];

  $string = "$review";
  preg_match('/\d+/', $string, $number);
  $number = $number[0];
 
  echo $number;
  $totaal = $totaal + $number;
 
 }
}
echo $totaal;
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

15/11/2011 15:12:45
Quote Anchor link
SELECT AVG(CONVERT(SUBSTRING(review, -1)), SIGNED) AS average FROM reviews
 



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.