Loop内的Multiples查询并非全部工作

I try to optimize a script I have so that it loads faster. Now I have been sitting here for hours already but do not get it to work correctly.

The first part works fine, but what does not work is getting the names of the sire_id ($sr query) and dam_id (($ dr query) it shows as resuls "array" for all of them.

This is what I have written so far

$query = "SELECT COUNT(sire_id) as c, sire_id FROM dog WHERE sire_id IS NOT NULL GROUP BY sire_id ORDER BY c desc LIMIT 150"; 
$result = mysql_query($query) ;
$i=0;
while ($line = mysql_fetch_array($result)) {
    $sireQuery = "SELECT name, id, sire_id, dam_id FROM dog WHERE id = '$line[sire_id] '";
    $sireResult = mysql_query($sireQuery) ;
    $sireLine = mysql_fetch_array($sireResult);
    $sr = mysql_query("SELECT name FROM dog WHERE id like $sireLine[2]") ;
    $sl = mysql_fetch_array($sr);       
    $dr = mysql_query("SELECT name FROM dog WHERE id like $sireLine[3]") ;
    $dl = mysql_fetch_array($sr);                       
    $i++;

    echo "</td><td>".$i. '&nbsp;', '&nbsp;', '&nbsp;',"<a href='details.php?id=".$line[1]."'>"  .$sireLine[0]. "</td>
          <td>".$line[0]." </td>
          <td>".$sl." </td>
          <td>".$dl." </td></tr>";      
}

Ids are numeric by definition, you don't need to use quotes. Also, you added a space that is not necessary:

$sireQuery = "SELECT name, id, sire_id, dam_id FROM dog WHERE id = " . $line["sire_id"];

Also, the following lines may need adaptation (waiting for your answer about the datatype of the id column)

$sr = mysql_query("SELECT name FROM dog WHERE id = " . $sireLine["sire_id"]);
$sl = mysql_fetch_array($sr);
$dr = mysql_query("SELECT name FROM dog WHERE id = " . $sireLine["dam_id"]);
$dl = mysql_fetch_array($dr);   /* note the mistake in the variable name: this is $dr, not $sr */

...

<td>" . $sl["name"] ." </td>
<td>" . $dl["name"] ." </td></tr>";

I rewrited your example:

$query = "SELECT COUNT(sire_id) as c, sire_id FROM dog WHERE sire_id IS NOT NULL GROUP BY sire_id ORDER BY c desc LIMIT 150";
$result = mysql_query($query) ;
$i=0;

while ($line = mysql_fetch_assoc($result)) {
    $sireQuery = "SELECT name, id, sire_id, dam_id FROM dog WHERE id = {$line['sire_id']}";
    $sireResult = mysql_query($sireQuery) ;
    $sireLine = mysql_fetch_assoc($sireResult);
    $sr = mysql_query("SELECT name FROM dog WHERE id = {$sireLine['sire_id']}") ;
    $sl = mysql_fetch_assoc($sr);
    $dr = mysql_query("SELECT name FROM dog WHERE id = {$sireLine['sire_id']}") ;
    $dl = mysql_fetch_assoc($sr);
    $i++;

    echo "</td><td>".$i. '&nbsp;', '&nbsp;', '&nbsp;',"<a href='details.php?id=".$line[1]."'>"  .$sireLine[0]. "</td>
          <td>{$line['c']} </td>
          <td>{$sl['name']} </td>
          <td>{$dl['name']} </td></tr>";
}