Avatar billede cmau Nybegynder
13. november 2005 - 13:11 Der er 15 kommentarer og
1 løsning

tjek om tabellen findes og tjek om der er /

Hejsa

Jeg har 2 spørgsmål.

1. Kan man tjekke om en tabel findes i en mysql og hvis den ikke gør så skriv at "tabel" tabellen findes ikke!. Jeg har lidt kode hvor det skla sættes på:

$ads_sql = mysql_query("SELECT * FROM $page WHERE id = '$id'") or die(mysql_error());
if(mysql_num_rows($ads_sql) == 0) {

header('Location:'.$style['warning']['404']);

} else { bla blabla..

2. Kan det lade sig gøre at man tjekker urlen om den slutter med /, som den her gør:
http://localhost/middagspausen/php/forside/?showfrom=6
Den forkerte version:
http://localhost/middagspausen/php/forside?showfrom=6
Hvis den så finder den nederste af de 2, så skal den lave en header location hen, så den får / med.
Avatar billede jakobdo Ekspert
13. november 2005 - 13:15 #1
1: Har du prøvet at kigge på denne kode: mysql_list_tables()
Så vil du kunne løbe dem igennem og se om den tabel du søger findes.
2: Kan du muligvis gøre med noget mod_rewrite eller med en nogle settings i din apache. (mere kan jeg ikke hjælpe dig med dette punkt)
Avatar billede cmau Nybegynder
13. november 2005 - 13:19 #2
Så til den førster må det være noget med:

$result = mysql_list_tables('middagspausen');
if (!$result) {
  echo "DB fejl, kunne ikke liste tabeller\n";
  echo 'MySQL fejl: ' . mysql_error();
  exit;
}

while ($row = mysql_fetch_row($result)) {
if($row = $page)$ok=1;
}
if($ok == 1)echo "Findes";
Avatar billede cmau Nybegynder
13. november 2005 - 13:20 #3
Til 2'eren, er det så ngoet jeg skal fixe i min .htacces fil, for det kan jeg ikke rigtig finde ud af..
Avatar billede jakobdo Ekspert
13. november 2005 - 13:22 #4
2: Aner jeg intet om! :o(
Avatar billede cmau Nybegynder
13. november 2005 - 13:23 #5
ok hvad så med 1, kan du fortælle om det der kan bruges?
Avatar billede jakobdo Ekspert
13. november 2005 - 13:30 #6
Her er koden fra php manualen:

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
  echo 'Could not connect to mysql';
  exit;
}

$result = mysql_list_tables($dbname);

if (!$result) {
  echo "DB Error, could not list tables\n";
  echo 'MySQL Error: ' . mysql_error();
  exit;
}
$findMig = "testTabel";
while ($row = mysql_fetch_row($result))
{
if($row[0] == $findMig)
{
  echo "Vi fandt tabellen vi søgte";
break;
}
}

mysql_free_result($result);
?>
Avatar billede cmau Nybegynder
13. november 2005 - 13:32 #7
Hvad gør det sidste  mysql_free_result($result); ?
Avatar billede elskermad.dk Nybegynder
13. november 2005 - 13:35 #8
2) måske... (utestet)

<?

if (strpos($_SERVER['REQUEST_URI'],"/?"))===false) header("location:" . str_replace("?","/?",$_SERVER['REQUEST_URI']));

?>
Avatar billede jakobdo Ekspert
13. november 2005 - 13:37 #9
Det fjerner result fra hukommelsen. (det gøres normalt også når scriptet er kørt færdigt)
Men det er god kode at rydde op efter sig selv.
Avatar billede cmau Nybegynder
13. november 2005 - 13:37 #10
Parse error: parse error in c:\programmer\php\www\middagspausen\php on line 17

linje 17 er den du gav elskermad.dk
Avatar billede cmau Nybegynder
13. november 2005 - 13:40 #11
jakobdo det må være ngoet med dette så:

$result = mysql_list_tables('middagspausen');

while ($row = mysql_fetch_row($result))
{
if($row[0] == $page)
{
$ads_sql = mysql_query("SELECT * FROM $page WHERE id = '$id'") or die(mysql_error());
if(mysql_num_rows($ads_sql) == 0) {

header('Location:'.$style['warning']['404']);

} else { bla blabla..


}
Avatar billede elskermad.dk Nybegynder
13. november 2005 - 13:49 #12
if (strpos($_SERVER['REQUEST_URI'],"/?")===false) header("location:" . str_replace("?","/?",$_SERVER['REQUEST_URI']));

der var vist snegen sig en ekstra ) ind
Avatar billede cmau Nybegynder
13. november 2005 - 14:04 #13
elskermad den virker ikke hvis jeg åbner http://localhost/middagspausen/php/forside

og hvis jeg åbner http://localhost/middagspausen/php/forside?showfrom=3 så damperen og opdaterer hele tiden.
Avatar billede cmau Nybegynder
13. november 2005 - 14:27 #14
Det er jo ikke altid sikkert at der er ? på.
Avatar billede cmau Nybegynder
13. november 2005 - 17:05 #15
?
Avatar billede cmau Nybegynder
17. november 2005 - 09:42 #16
Fandt en anden måde, hvor på jeg bruger den samme database til det hele, men tak fordi du prøvede.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester