ugrás a tartalomhoz

foreach+mysql

newyorkerboy · 2009. Nov. 4. (Sze), 20.55
sziasztok!
kissé elakadtam egy mysql-tábla tartalmat kilistázó foreach megírásásban. a következő a helyzet most:

      $eredmeny=mysql_query("select * from tarolo");
      print "<table border='1' width='100%>'";
      print "<tr><td>Sorszám</td><td>Linked neve</td><td>Linked címe</td></tr>";
      while ($egy_sor=mysql_fetch_row($eredmeny)){
        print "<tr>";
        foreach ($egy_sor as $mezo)
          if ($mezo[0]=="h" && $mezo[1]=="t" && $mezo[2]=="t" && $mezo[3]=="p" && $mezo[4]==":" && $mezo[5]=="/" && $mezo[6]=="/"){
            print "<td><a href='$mezo'>$mezo</a></td>";}
            else if ($mezo[0]=="h" && $mezo[1]=="t" && $mezo[2]=="t" && $mezo[3]=="p" && $mezo[4]=="s" && $mezo[5]==":" && $mezo[6]=="/" && $mezo[7]=="/"){
              print "<td><a href='$mezo'>$mezo</a></td>";}
              else if ($mezo[0]=="w" && $mezo[1]=="w" && $mezo[2]=="w" && $mezo[3]=="."){
                print "<td><a href='$mezo'>$mezo</a></td>";}
          else{
            print "<td>$mezo</td>";}
            
      $parancs=mysql_query("select ip from tarolo_felh where id='$mezo'");
      $parancs=mysql_fetch_array($parancs);
      $parancs=$parancs[0];
      
      print "<td>".$parancs."</td>";
            
            print "</tr>";}
      print "</table><br>";}
tehát ahol az a parancsos rész van (ahonnan id alapján kérdez le másik táblából) ott egy következő oszlopba az adott idhez tartozó ip-t kellene kiírnia. (azt már megoldottam h ugyan olyan id-vel tárolja el)

itt:

      $parancs=mysql_query("select ip from tarolo_felh where id='$mezo'");
      $parancs=mysql_fetch_array($parancs);
      $parancs=$parancs[0];
      
      print "<td>".$parancs."</td>";
 
1

az id-t pedig ez első

newyorkerboy · 2009. Nov. 4. (Sze), 20.57
az id-t pedig ez első oszlopban kilistázott $mezo értékéből tudjuk, ez itt a gond, bocsi de lefelejtettem :(
2

<table border="1"

Poetro · 2009. Nov. 4. (Sze), 22.28
<table border="1" width="100%">
  <thead>
    <tr>
      <th>Sorszám</th>
      <th>Linked neve</th>
      <th>Linked címe</th>
    </tr>
  </thead>
  <tbody>
<?php
$eredmeny = mysql_query("SELECT * FROM tarolo");
while ($egy_sor = mysql_fetch_row($eredmeny)) : ?>
    <tr>

<?php foreach($egy_sor as $mezo) :
  if (substr($mezo, 0, 7) == 'http://') : ?>
      <td><a href="<?php print htmlspecialchars($mezo, ENT_QUOTES) ?>"><?php print $mezo; ?></a></td>
  <?php elseif (substr($mezo, 0, 8) == 'https://') : ?>
      <td><a href="<?php print htmlspecialchars($mezo, ENT_QUOTES) ?>"><?php print $mezo; ?></a></td>
  <?php elseif (substr($mezo, 0, 4) == 'www.') : ?>
      <td><a href="http://<?php print htmlspecialchars($mezo, ENT_QUOTES) ?>"><?php print $mezo; ?></a></td>
  <?php else : ?>
      <td><?php print $mezo; ?></td>
<?php
  endif; endforeach;
  $parancs = mysql_fetch_array(
    // Az nem derült ki honnan van az ID, gondoltam talan az első a sorszám mező
    mysql_query("select ip from tarolo_felh where id='". 
      mysql_real_escape_string($egy_sor[0]) ."'")
  );
?>
      <td><?php print reset($parancs) ?></td>
    </tr>
<?php endwhile; ?>
  </tbody>
</table>
3

a substr-t külön köszönöm :)

newyorkerboy · 2009. Nov. 6. (P), 21.45
a substr-t külön köszönöm :) , a lekérés tökéletesen működik, de most valamiért az ip mentéssel van gond, pedig idáig rendesen működött :S