Autor Zpráva
deliQus
Profil
Zdravím, chtěl bych se zeptat, jak můžu generovat do odkazu id článku z DB třeba: index.php?page=clanek&id=.$id.

pokaždé mi to blbne, třeba je id u všech článku stejné.
keeehi
Profil
aby jsi neměl id u článků stejné, tak sloupci s id přidej auto_increment; id do odkazu přidáš tak jak to máš, stačí si ho jenom vytáhnout z databáze společnš třeba s názvem článku.
deliQus
Profil
Mám id auto_increment, v databázi se to id vygeneruje, ke každemu článku, ale v tom odkazu to bylo stejné :-)
Taps
Profil
deliQus:
nejlepší bude když sem vložíš kousek kodu
deliQus
Profil

$vysledek=mysql_query("select nadpis, text from uvod WHERE id='".$id."'LIMIT 1",$GLOBALS["link"]);
  if (mysql_num_rows($vysledek)==0)
    echo "Uvod nevyplnen Ach jo";
  else
  {
    echo "<TABLE>";
    while ($zaznam=MySQL_Fetch_Array($vysledek)):
      ?>
      <TR>
        <TD><? echo '<a href="index.php?page=clanek&id='.$id.'">' ?><?echo $zaznam["nadpis"]?><? echo '</a>' ?></TD>
      </TR>
       <TR>
        <TD><?echo $zaznam["text"]?></TD>
      </TR>
      <?
    endwhile;
    echo "</TABLE>";   


třeba toto
Alphard
Profil
Id musí být stejné, na jeho základě vybíráte z databáze data a nikde jinde ho neměníte.
deliQus
Profil
Ale nevím, jak to správně vytáhnout a použít v tom odkazu
Alphard
Profil
deliQus:
Popište lépe, čeho chcete dosáhnout. Nabízelo by se vytahovat id z databáze, ale vzhledem k tomu, že na jeho základě filtrujete data, by to bylo nelogické.
deliQus
Profil
<?php
if( isset( $_GET['page'] ) && isset( $_GET['id'] )  &&  $_GET['page'] == "clanky") {
$vysledek=mysql_query("select nadpis, text from uvod WHERE id='".$_GET['id']."'LIMIT 1",$GLOBALS["link"]);
  if (mysql_num_rows($vysledek)==0)
    echo "Uvod nevyplnen skoro hura";
  else
  {
    echo "<TABLE>";
    while ($zaznam=MySQL_Fetch_Array($vysledek)):
      ?>
      <TR>
        <TD><h3><?echo $zaznam["nadpis"]?></h3></TD>
      </TR>
       <TR>
        <TD><?echo $zaznam["text"]?></TD>
      </TR>
      <?
    endwhile;
    echo "</TABLE>";
	echo ":::::: HURA ::::::";
  }
} else {
$vysledek=mysql_query("select nadpis, text from uvod",$GLOBALS["link"]);
  if (mysql_num_rows($vysledek)==0)
    echo "Uvod nevyplnen Ach jo";
  else
  {
    echo "<TABLE>";
    while ($zaznam=MySQL_Fetch_Array($vysledek)):
      ?>
      <TR>
        <TD><? echo '<a href="index.php?page=clanek&id='.$id.'">' ?><?echo $zaznam["nadpis"]?><? echo '</a>' ?></TD>
      </TR>
       <TR>
        <TD><?echo $zaznam["text"]?></TD>
      </TR>
      <?
    endwhile;
    echo "</TABLE>";
	echo ":::::: Ach jo ::::::";
  }
}
?>


Tady je celý skript zobrazovani novinek, pokud je tam id, zobrazi se jen novinka s tím daným id, pokud ne, zobrazi se všechny, ale potřebuju, aby když se kliklo na nějakou, tak se vypíše, a k tomu potřebuju vygenerovat id do odkazu :-)
keeehi
Profil
<?php
if( isset( $_GET['page'] ) && isset( $_GET['id'] )  &&  $_GET['page'] == "clanky") {
$vysledek=mysql_query("select nadpis, text from uvod WHERE id='".$_GET['id']."'LIMIT 1",$GLOBALS["link"]);
  if (mysql_num_rows($vysledek)==0)
    echo "Uvod nevyplnen skoro hura";
  else
  {
    echo "<TABLE>";
    while ($zaznam=MySQL_Fetch_Array($vysledek)):
      ?>
      <TR>
        <TD><h3><?echo $zaznam["nadpis"]?></h3></TD>
      </TR>
       <TR>
        <TD><?echo $zaznam["text"]?></TD>
      </TR>
      <?
    endwhile;
    echo "</TABLE>";
    echo ":::::: HURA ::::::";
  }
} else {
$vysledek=mysql_query("select id,nadpis, text from uvod",$GLOBALS["link"]);
  if (mysql_num_rows($vysledek)==0)
    echo "Uvod nevyplnen Ach jo";
  else
  {
    echo "<TABLE>";
    while ($zaznam=MySQL_Fetch_Array($vysledek)):
      ?>
      <TR>
        <TD><? echo '<a href="index.php?page=clanek&id='.$zaznam["id"].'">' ?><?echo $zaznam["nadpis"]?><? echo '</a>' ?></TD>
      </TR>
       <TR>
        <TD><?echo $zaznam["text"]?></TD>
      </TR>
      <?
    endwhile;
    echo "</TABLE>";
    echo ":::::: Ach jo ::::::";
  }
}
?>

snad to bude dobře, netestoval jsem to, ale chyba by v tom být neměla
deliQus
Profil
Jasný funguje to, díky moc :-)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: