webForumDet fria alternativet

skriv ut senaste inlägg ifrån databasen

PHP

8 svar · 653 visningar · startad av mr.mainline

Medlem sedan feb. 2003777 inlägg
Frågan#1

Håller på med ett skript där jag ska gå in på en sida t.ex https://www.sida.se/sida.php och i mitten där hämtar jag senaste inlägg ifrån databsen, i sidomenyn finns länkar med olika rubriker som är länkar till samma tabell som jag har i mitten, det som inte funkar är att jag inte kan hämta senaste inlägg som ska skrivas ut i mitten på sidan.

<?php 
                      include("blogg/mysql.php");
                      include("blogg/funktioner.php"); 
 
if(isset($_GET['id']) and is_numeric($_GET['id'])) 
    $id = $_GET['id']; 
else 
    die("<p>".'ID saknas eller är ej numeriskt!'."</p>"); 

$hamta=("SELECT * FROM tabell where id = $id") or die(mysql_error());  
                $resultat = mysql_query($hamta) or die(mysql_error()); 
                while($rad = mysql_fetch_array($resultat)){
//Skriv ut  
echo $rad['rubrik']."<br />";
echo $rad['datum']."<br />";
echo $rad['domare']."<br />";
echo $rad['innehall']."<br />";
  
}  
?>

Får bara ut "'ID saknas eller är ej numeriskt".

Medlem sedan dec. 2006382 inlägg
#2

Ja, du måste ju ha med ett värde i $id med den sql-frågan du har där. Prova detta:

<?php 
                      include("blogg/mysql.php");
                      include("blogg/funktioner.php"); 

$hamta=("SELECT * FROM tabell ORDER BY id DESC LIMIT 1") or die(mysql_error());  
                $resultat = mysql_query($hamta) or die(mysql_error()); 
                while($rad = mysql_fetch_array($resultat)){
//Skriv ut  
echo $rad['rubrik']."<br />";
echo $rad['datum']."<br />";
echo $rad['domare']."<br />";
echo $rad['innehall']."<br />";
  
}  
?>
Medlem sedan feb. 2003777 inlägg
#3

Nej funkade inte...

Medlem sedan dec. 2006382 inlägg
#4

Nehe? Vad får du ut på skärmen då?

Medlem sedan apr. 2006409 inlägg
#5

Kolla vad $_GET innehåller då.

var_dump($_GET);
Medlem sedan feb. 2003777 inlägg
#6

var_dump($_GET);
innehåller ett värde, och jag får nu upp det jag vill i mitten på sidan, men jag har en sidmeny på sidan där jag hämtar id, rubrik och datum, där rubriken blir länk till andra poster i samma tabell, och nu funkar inte dom(funkade innan) det händer ingenting när jag klickar på dom.

koden i sidmenyn:

<?php

                include ("blogg/mysql.php");
				
				if(isset($_GET['id']))  
                 $id = $_GET['id'];  
				
				
			    $hamta = "SELECT id,datum,rubrik FROM tabellen ORDER BY id DESC LIMIT 11"; 
                $resultat = mysql_query($hamta) or die(mysql_error()); 
                while($rad = mysql_fetch_array($resultat))
				 
              {  
			    //#############################################
// länken.
$rubrik = $rad['rubrik'];

// Kolla om länken är över 32 tecken
if (strlen($rubrik) > 32) {
    
// Skriv ut tecknen, sen ... 
    $short_url = substr($rubrik, 0, 32) . '...';
    
	
				
				//#############################################
			     
			
			     
                 echo  "<em>".$rad['datum']."</em>";
				 echo "<a href='sida.php?id=".$rad['id']."'>".$short_url."</a>";
				 
				 } else {
				    echo  "<em>".$rad['datum']."</em>";
					echo "<a href='sida.php?id=".$rad['id']."'>".$rad['rubrik']."</a>";   
                 
                         }
		         

                }       
              mysql_free_result($resultat); 
          mysql_close($mySQL_conn); 
              ?>
Medlem sedan apr. 2006409 inlägg
#7

...

Medlem sedan apr. 2006409 inlägg
#8

überfuzz skrev:

Hur ser länkarna ut då, alltså vad blir resultatet av din echo?

echo "<a href='sida.php?id=".$rad['id']."'>".$short_url."</a>";

Får du ut ur databasen till din array $rad? OT: Dina länkar/$short_url kanske förtjänar en egenkolumn i sql-tabellen. Du kan du ju bestämma utseendet på dem lite exaktare, rubrikerna är ju uppenbarligen inte goda nog. Den där substr-grejen du gör känns märklig. Är det designen på sidan som inte håller ihop ifall rubriken är ca 100 tecken?

Edit: texten var lite luddig.

Medlem sedan feb. 2003777 inlägg
#9

Får inte rätt på det, fick lite hjälp på en annan sida. sidomenyn includerar jag om det har någon betydelse, sidomenyn funkar, men när jag går in på sidan så hämtas inte det senaste inläggen i main.

ni kan kolla på http://www.azlanozicko.se/AzlanUtstallning.php

Så här ser koden ut i main

<?php   
echo '<h2>'."Utställnings resultat". '</h2>';

include("blogg/mysql.php");  
include("blogg/funktioner.php");   
   
if (isset($_GET['id'])) { 
     
    // Här typecastar jag id't till en integer, alltså kan man inte injicera någonting i sql-frågan 
    $id = (int)$_GET['id'];   
     
    // Här hämtade du inte ens inlägget emd det id't du ville, utan bara den senaste raden i tabellen 
    $hamta = "SELECT * FROM utstallningazlan WHERE id = $id LIMIT 1 "; 
	//LIMIT 1
    $resultat = mysql_query($hamta) or die(mysql_error());   
     
    while ($rad = mysql_fetch_array($resultat)) {  
        //Skriv ut 
        echo $rad['rubrik'] . "<br />";  
        echo $rad['datum'] . "<br />";  
        echo $rad['domare'] . "<br />";  
        echo $rad['innehall'] . "<br />";  
    }     
    
}  
?>

sidmenyn

<?php 

include ("blogg/mysql.php"); 

$hamta = "SELECT id,datum,rubrik FROM utstallningazlan ORDER BY id DESC LIMIT 11";  
$resultat = mysql_query($hamta) or die(mysql_error());  

while ($rad = mysql_fetch_array($resultat)) { 

    // länken. 
    $rubrik = $rad['rubrik']; 

    // Kolla om länken är över 32 tecken 
    if (strlen($rubrik) > 32) { 
         
        // Skriv ut första 32 tecknen, sen ...  
        $rubrik = substr($rubrik, 0, 32) . '...'; 
         
    } 
     
    echo  "<em>" . $rad['datum'] . "</em>"; 
    echo "<a href='AzlanUtstallning.php?id=" . $rad['id'] . "'>" . $rubrik . "</a>"; 
     
}        

mysql_free_result($resultat);  
mysql_close($mySQL_conn);  

?>
263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)