dubbele titels in de reviews?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joshua dsa

Joshua dsa

27/02/2017 16:26:52
Quote Anchor link
hallo,
ik ben bezig met een programma dat automatisch reviews schrijft.
Nu wil ik dat er geen dubbele titels in voor komen.
weet iemand hier een oplossing voor?


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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
      $database = new database();
      
      $q ='SELECT * FROM nepprofielen';
      $result = $database->query($q);
      
      while($rows = mysqli_fetch_assoc($result))
      {
              echo  'Reviewer:'. $rows['voornaam']." ".$rows['achternaam']." ".'Titel: '.randomReview().'<br/>';
      
      }

      
      function checkReviewOfAlGepost($nepReviewId)
      {
          $database = new database();
          $q ='SELECT * FROM reviews WHERE nep_review_id = '.$nepReviewId.'';
          $result = $database->query($q);
        
          if (mysqli_num_rows($result))
          {
              // Reviewer heeft dit bedrijf al eens gereviewed!!
              return 1;
          }
          else
          {
              return 0;
          }
      }
      
      function randomReview()
      {
          $database = new database();
          $q ='SELECT * FROM nepreviews ORDER BY RAND()';
          $result = $database->query($q);
          
          while ($rows = mysqli_fetch_assoc($result))
          {
              if (checkReviewOfAlGepost($rows['id']) != 1)
          {
                    return $rows['titel'];
          }
          else
          {
              return '<strong>is al gereviewed!</strong>';
          }
          }
      }
 
PHP hulp

PHP hulp

24/11/2024 12:42:13
 
- Ariën  -
Beheerder

- Ariën -

27/02/2017 16:32:36
Quote Anchor link
Je controleert in checkReviewOfAlGepost() op een id, en niet op de titel zelf.
 
Joshua dsa

Joshua dsa

27/02/2017 16:43:57
Quote Anchor link
als ik op de titel controleer krijg ik ook dubbele
 
- Ariën  -
Beheerder

- Ariën -

27/02/2017 16:45:25
Quote Anchor link
SELECT DISTINCT * FROM reviews WHERE id = 42
 
Joshua dsa

Joshua dsa

28/02/2017 15:24:44
Quote Anchor link
in de database zelf staan geen dubbele.
 
Thomas van den Heuvel

Thomas van den Heuvel

28/02/2017 15:44:40
Quote Anchor link
ORDER BY RAND() selecteert bij mijn weten niet eenzelfde record tweemaal, dus ik vermoed dat in de tabel "nepreviews" dezelfde data meerdere keren voorkomt.

Waarom trouwens geen LIMIT 1 als je het eerste resultaat direct retourneert? Ah, omdat je de eerste niet gereviewde wilt hebben. Maar dit kan in 1 query? Doe een LEFT JOIN op "reviews" waar het (nep_)review_id niet bestaat (gelijk is aan NULL)?

Dit alles is overigens nogal koffiedik kijken zonder een inzage / selectie in de data van beide tabellen...
 



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.