webForumDet fria alternativet

Hur ersätta nummer med text?

PHP

8 svar · 292 visningar · startad av Leijon

Medlem sedan maj 20038 inlägg
Frågan#1

Ursäkta den något dåligt formulerade rubriken men jag behöver hjälp följande problem (förmodligen ganska basic):

I min MySQL-databas har jag två tabeller, en som heter Lankar och en vid namn LankarKategorier .
I tabellen Lankar har jag en kolumn som heter Kategori . Där ligger ID-numret från respektive kategori i tabellen LankarKategorier .
När jag sedan presenterar länkarna på sidan med kategori kommer bara ID-numret upp (förstås, eftersom det är posten i databasen).
Jag vill istället att kategorin ska hämtas från LankarKategorier .

Hur gör jag?

Medlem sedan mars 20025 907 inlägg
#2
$sql = "select lankar.*, lankarkategorier.kategori from lankar, lankarkategorier 
where lankar.kategori = lankarkategori.id";

Något sådant här kanske?

Medlem sedan maj 20038 inlägg
#3

Låter bra, men hur ska jag implementera detta?
Kör Dreamweaver MX då jag inte direkt är någon SQL- eller PHP-guru...

Min kod för att skriva ut länkarna ser ut så här:

<?php do { ?>
<tr bgcolor="#F7F7F7">
<td>&gt;&nbsp;<a href="<?php echo $row_rsLankar['Link']; ?>" target="_blank"><?php echo $row_rsLankar['Namn']; ?></a> - <font class="Lankkategori"> <?php echo $row_rsLankar['Kategori']; ?> </font></td>
</tr>
<?php } while ($row_rsLankar = mysql_fetch_assoc($rsLankar)); ?>

Och SQL-satsen ser ut som följer:

mysql_select_db($database_Mindatabas, $Mindatabas);
$query_rsLankar = "SELECT * FROM lankar ORDER BY id DESC";
$query_limit_rsLankar = sprintf("%s LIMIT %d, %d", $query_rsLankar, $startRow_rsLankar, $maxRows_rsLankar);
$rsLankar = mysql_query($query_limit_rsLankar, $Mindatabas) or die(mysql_error());
$row_rsLankar = mysql_fetch_assoc($rsLankar);

if (isset($HTTP_GET_VARS['totalRows_rsLankar'])) {
  $totalRows_rsLankar = $HTTP_GET_VARS['totalRows_rsLankar'];
} else {
  $all_rsLankar = mysql_query($query_rsLankar);
  $totalRows_rsLankar = mysql_num_rows($all_rsLankar);
}
$totalPages_rsLankar = ceil($totalRows_rsLankar/$maxRows_rsLankar)-1;

mysql_select_db($database_Mindatabas, $Mindatabas);
$query_rsLankarKategorier = "SELECT * FROM lankarkategorier";
$rsLankarKategorier = mysql_query($query_rsLankarKategorier, $Mindatabas) or die(mysql_error());
$row_rsLankarKategorier = mysql_fetch_assoc($rsLankarKategorier);
$totalRows_rsLankarKategorier = mysql_num_rows($rsLankarKategorier);
Medlem sedan maj 20038 inlägg
#4

Är det ingen som vet?

Medlem sedan okt. 20001 285 inlägg
#5

oh my god .. fimpa Dreamweaver :x

ett överskattat verktyg .. :OO

:birp hej & välkommen iaf..

Medlem sedan maj 20038 inlägg
#6

Jo, jag vet att Dreamweaver inte är the best way to go... :P
Men just nu är mina kunskaper inte tillräckligt stora för att jag ska kunna göra det jag vill utan det.

Så, hur ska jag fixa ovanstående?
Kom igen nu, alla Sveriges php-gurus, visa vad ni går för! ;)

Medlem sedan maj 20031 472 inlägg
#7

Jag tycker att Dreamweaver är mycket bra att ha men inte till att skriva PHP med.
Koden som DW gör för mySQL är ganska jobbig att hålla på med, går att göra mycket lättare själv. Dock är DWs kod gjord för att passa på så många ställen som möjligt.

Medlem sedan maj 20038 inlägg
#8

Snälla, jag behöver verkligen hjälp med det här.
Är det INGEN som klarar detta?

Medlem sedan okt. 20001 285 inlägg
#9
$get_links = mysql_query("SELECT 
	LankarKategorier.kategori AS CAT_NAME, 
	Lankar.kategori AS CAT_ID 
	FROM Lankar 
	INNER JOIN LankarKategorier ON Lankar.id = LankarKategorier.id 
	ORDER BY Lankar.date DESC LIMIT 5") or die (mysql_error());

	while ($link = mysql_fetch_array($get_links)) {
		echo "<a href=\"/links.php?id=" . $link['CAT_ID'] . "\">" . $link['CAT_NAME'] . "</a>";
	}

..tror jag

266 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)