van query naar array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan Lochten

Stefan Lochten

05/04/2009 13:03:00
Quote Anchor link
Ik heb het volgende gemaakt:

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
<?php
  $sql
= 'SELECT * FROM fotoAlbum WHERE state = "on" ORDER BY crDate DESC';
  $result = mysql_query($sql);
  echo '<table width="100%" cellspacing="1" cellpadding="0" border="0">';
  while($arrFotoAlbum = mysql_fetch_array($result)){
    echo '<tr><td>'.$arrFotoAlbum['name'].'</td>';
    $slfFoto = 'SELECT * FROM fotoItems WHERE albumID = "'.$arrFotoAlbum['ID'].'" LIMIT 0,1';
    $resultFoto = mysql_query($sqlFoto);
      while($arrFotoPreview = mysql_fetch_array($resultFoto)){
        echo '<td>'.$arrFotoPreview['name'].'</td>';
      }

    echo '</tr>';
  }
  
  echo '</table>';  
?>


Maar nu doet hij het niet omdat $arrFotoPreview geen array is. Weet iemand mss een oplossing??
Alvast bedankt,

Stefan
 
PHP hulp

PHP hulp

21/11/2024 21:38:05
 
- SanThe -

- SanThe -

05/04/2009 13:08:00
Quote Anchor link
$arrFotoPreview = mysql_fetch_array

Is dus wél een array().
Waar zijn de contrôles en de foutafhandeling?
 
Stefan Lochten

Stefan Lochten

05/04/2009 13:26:00
Quote Anchor link
ik heb hem aangepast..

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
<?php
  $sql
= 'SELECT * FROM fotoAlbum WHERE state = "on" ORDER BY crDate DESC';
  $result = mysql_query($sql);
  echo '<table width="100%" cellspacing="1" cellpadding="0" border="0">';
  while($arrFotoAlbum = mysql_fetch_array($result)){
    echo '<tr><td>'.$arrFotoAlbum['name'].'</td>';
    $slfFoto = 'SELECT * FROM fotoItems WHERE albumID = "'.$arrFotoAlbum['ID'].'" LIMIT 0,1';
    $resultFoto = mysql_query($sqlFoto);
    $arrFotoPreview = mysql_fetch_array($resultFoto);
    if(is_array($arrFotoPreview)){
      die('is array');
    }
else{
      die('is geen array');
    }

    echo '</tr>';
  }
  
  echo '</table>';  
?>


en nu krijg ik is geen array...
 
Frank -

Frank -

05/04/2009 13:30:00
Quote Anchor link
SanThe schreef op 05.04.2009 13:08:
Waar zijn de contrôles en de foutafhandeling?
Wat snap je hier niet van?

Zie de beginnerstutorials en ga de ontbrekende code aan jouw script toevoegen. Zonder foutafhandeling heeft het weinig zin om verder te gaan.
 
Steen

steen

05/04/2009 14:00:00
Quote Anchor link
$sqlFoto is iets anders dan $sqfFoto

Lees die code dan ook na,
 
Arjan Kapteijn

Arjan Kapteijn

05/04/2009 14:02:00
Quote Anchor link
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
<?php
$query
  = "SELECT ID, name FROM fotoAlbum WHERE state = 'on' ORDER BY crDate DESC";
$result = mysql_query($query);

if($result && mysql_num_rows($result) > 0)
{

    echo '<table>';
    
    while($album = mysql_fetch_assoc($result))
    {

        echo '<tr>';
        
        echo '<td>'.$album['name'].'</td>';
        
        $query2     = "SELECT name FROM fotoItems WHERE albumID = ".$album['ID']." LIMIT 1";
        $result2    = mysql_query($query2);
        
        if($result2 && mysql_num_rows($result2) == 1)
        {

            while($item = mysql_fetch_assoc($result2))
            {

                echo '<td>'.$item['name'].'</td>';
            }
        }

        
        echo '</tr>';
    }

    echo '</table>';
}

?>


- Maak een keuze, of Engels of Nederlands maar niet alles door elkaar.
- Controleer of je querys wel resultaat hebben opgeleverd. Je kunt de IF nog uitbreiden met een ELSE, bijv een mededeling dat iets niet gelukt is.
- Probeer een SELECT * te voorkomen maar specificeer de kolommen.
Gewijzigd op 01/01/1970 01:00:00 door Arjan Kapteijn
 
- SanThe -

- SanThe -

05/04/2009 14:11:00
Quote Anchor link
@Arjan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
        if($result2 && mysql_num_rows($result2) == 1)
        {

            while($item = mysql_fetch_assoc($result2))
            {

                echo '<td>'.$item['name'].'</td>';
            }
        }

?>

Als er slechts 1 record is gevonden is een while() overbodig.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
        if($result2 && mysql_num_rows($result2) == 1)
        {

            $item = mysql_fetch_assoc($result2);
            echo '<td>'.$item['name'].'</td>';
        }

?>
 
Arjan Kapteijn

Arjan Kapteijn

05/04/2009 14:14:00
Quote Anchor link
Heb je gelijk in, overheen gekeken.
 



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.