webForumDet fria alternativet

Hjälpa mig med mitt film register..

PHP

19 svar · 1 038 visningar · startad av Forcevision

Medlem sedan mars 2007217 inlägg
Frågan#1

Hejsan !

Har börjat lite på att designa mitt film register. Undrar om någan kanske kunde hjälpa mig lite med php kodning till det. Lägger upp underhär hur jag tänkt att det skall se ut när man ska lägga till en film. Vet inte det kanske är en svår script att göra. Men skadar ju inte att fråga om någon vill hjälpa mig. Den sidan under här är för att lägga till en film. Så skulle jag då vilja att när jag klickar på lätt till knappen så hamnar det på en annan sida i bokstavsordning. På den sidan så kommer film titeln upp i bokstavsordning efter där kommer kategori och speltid.
Någon som vill hjälpa mig med detta eller är det för mycket begärt?


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<p>L&auml;gg till ny film...</p>
<form id="form2" name="form2" method="post" action="">
  <p>Title: 
    <input type="text" name="textfield" />
  </p>
  <p>Kategori: <br />
  Action 
    <label>
    <input type="checkbox" name="checkbox" value="checkbox" />
    </label>
    <br />
  Dokument&auml;r 
  <label>
  <input type="checkbox" name="checkbox2" value="checkbox" />
  </label>
  <br />
  Drama 
  <label>
  <input type="checkbox" name="checkbox3" value="checkbox" />
  </label>
  <br />
  Komendi 
  <label>
  <input type="checkbox" name="checkbox4" value="checkbox" />
  </label>
  <br />
  Musikal 
  <label>
  <input type="checkbox" name="checkbox5" value="checkbox" />
  </label>
  <br />
  Romantik 
  <label>
  <input type="checkbox" name="checkbox6" value="checkbox" />
  </label>
  <br />
  Rysare 
  <label>
  <input type="checkbox" name="checkbox7" value="checkbox" />
  </label>
  <br />
  Science Fiction 
  <label>
  <input type="checkbox" name="checkbox9" value="checkbox" />
  </label>
  <br />
  Skr&auml;ck 
  <label>
  <input type="checkbox" name="checkbox8" value="checkbox" />
  </label>
  <br />
  Tv Serie 
  <label>
  <input type="checkbox" name="checkbox10" value="checkbox" />
  </label>
  <br />
  Klassiker 
  <label>
  <input type="checkbox" name="checkbox11" value="checkbox" />
  </label>
  <br />
  Erotik 
  <label>
  <input type="checkbox" name="checkbox12" value="checkbox" />
  </label>
  <br />
  <br />
  Speltid 
  <label>
  <input type="text" name="textfield2" />
  </label>
  Minuter  <br />
  <br />
  <label>
  <input type="submit" name="Submit" value="L&auml;gg till" />
  </label>
  <label>
  <input type="reset" name="Submit2" value="Ta bort" />
  </label>
  </p>
  <label></label>
</form>
</body>
</html>

Mvh Jonas

Medlem sedan maj 20071 061 inlägg
#2

Det låter som ett bra jobb för PHP kopplat till en SQL databas.
Då kan du enkelt, med hjälp av en fråga till SQL vilken lista i vilken ordning du vill.
Så det första du ska göra är att hitta ett hotell där dom kan erbjuda dig dessa 2 saker, altså PHP och SQL.
Nästa steg är att programmera, eller hitta ett fritt och troligen ändra lite, databas som gör just detta åt dig. Tyvärr så har jag inga bra länkar att komma med där :-(

Det skulle gå lika bra med ASP och Access (skulle jag tro. Har aldrig jobbat med det så 100% kan jag inte vara, men 99,99999999% är jag)
Natruligtvis skulle man kunna göra det i Perl kopplat till en fil (eller flera filer) också, men det skulle suga rätt snabbt när det blir många poster.

Medlem sedan mars 2007217 inlägg
#3

Jepp jag har redan en webserver där jag lägger upp allt på så det är lungt. Undrar bara om någon kunde hjälpa mig med kodningen i sql och php :)

Medlem sedan maj 20071 061 inlägg
#4

Aaahhhhaaaaa :-)

Är du bra på att ge grafiska tipps kanske vi kan byta :-)
Har nämligen min filmer upplaggda i databas, som dock innehåller MASSA mer. Dock saknar den totalt gränsnitt och användarvänlighet. Så alla ideer men nyans om grafik och struktur är goda ideer :-)

http://filowap.axplock.com/

Jag ska kolla vad jag kan göra åt dig ang. PHP. Lovar inget men ska kolla på det.

Medlem sedan mars 2007217 inlägg
#5

Mr T du får gärna se om du kan åsta komma något sånt åt mig kan designa sidan men som sagt behöver hjälp med själva php koden. Vore väldigt tacksam. Det måste väll vara en databas som registret ligger i och php kod som hämtar upp det nja inte så bra på detta men som sagt all hjälp är välkommen.
Kan lägga upp det här sedan så får folk se vad vi åstakommit om någon är nyfiken.

Medlem sedan maj 20071 061 inlägg
#6

Kastade snabbt ihop något slags "input" och "visa grej" utifrån standard code jag brukar använda. Kanske lite mer kompliserad än vad som är brukligt på dett forumet, men det var det jag han slänga iordning. Har dock inte testat det utan överlämnar det till dig (tjejen vill att jag sitter mer med henne än vid datorn så.... *stressad*)

Du får 3 filer. Var ca 10 år sedan grunden till dessa coder lades så mycket har "bara hängt med". Men kolla på det och testa så får vi snacka vidare.

Grafik filen där desigen för "inläggs sidan".

movie_g.php

<html>
	<head>
		<!META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
		<title>Filmer</title>
		<!--link rel="stylesheet" href="stylesheet.php" type="text/css"-->
		<!--SCRIPT LANGUAGE=javascript SRC=common.js></SCRIPT-->
	</head>
<body bgcolor="#ffffff" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
	
<?php
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=POST NAME=\"film\" target=\"_self\">";
require('movie_c.php');
?>

<? echo "$html_start_stuff"; ?>

<TABLE BORDER=0 width="400"  CELLSPACING=0 CELLPADDING=0>
<TR>
		<TD>
<? // Vi kollar om "grafik HTML variablerna" ska skrivas ut
if ($Show_html) { 
?>
<TABLE width="400" BORDER=0 CELLSPACING=0 CELLPADDING=0>
	<TR>
		<td valign=top width="40"><img src="img/empty.gif" alt="" height="10" width="40" border="0"></td>
		<TD valign=top width="360"></TD>
	</TR>

						<!--TR>
		<TD valign=middle><B>id: </B></TD>
		<TD valign=middle><? echo $html_id; ?></TD>
	</TR>
	<TR>
		<TD valign=middle><B>create_date: </B></TD>
		<TD valign=middle><? echo $html_create_date; ?></TD>
	</TR>
	<TR>
		<TD valign=middle><B>edit_date: </B></TD>
		<TD valign=middle><? echo $html_edit_date; ?></TD>
	</TR-->
						<TR>
							<td valign=top width="40"><img src="img/empty.gif" alt="" height="5" width="40" border="0"></td>
							<TD valign=top width="360"><? echo $html_movie_title; ?></TD>
	</TR>
						<TR height="10">
							<td valign=top width="40" height="10"><img src="img/empty.gif" alt="" height="10" width="40" border="0"></td>
							<TD valign=top width="360" height="10"></TD>
	</TR>
						<TR>
							<td valign=top width="40"></td>
							<TD valign=top width="360"><b>Action :</b><? echo $html_category_action; ?></TD>
	</TR>
						<TR height="5">
							<td valign=top width="40" height="5"><img src="img/empty.gif" alt="" height="5" width="40" border="0"></td>
							<TD valign=top width="360" height="5"></TD>
	</TR>
						<TR>
							<td valign=top width="40"></td>
							<TD valign=top width="360"><b> Drama: </b><? echo $html_category_drama; ?></TD>
	</TR>
						<tr height="5">
							<td valign=top width="40" height="5"></td>
							<td valign=top width="360" height="5"><? echo "$html_submit"; ?></td>
						</tr>
</TABLE>
					
<? } // if ($Show_html) ?>
	</TD>
</TR>
<TR>
	<TD valign="bottom">
					<table width="390" border="0" cellspacing="0" cellpadding="0">
						<tr>
							<td width="40"><img src="img/empty.gif" alt="" height="5" width="40" border="0"></td>
							<td width="360"><? echo "$html_end_stuff"; ?></td>
						</tr>
					</table>
</TD>
</TR>
</TABLE>
<? echo "</FORM>"; ?>
</BODY>

</HTML>
Medlem sedan maj 20071 061 inlägg
#7

Filen där "all" code ligger. Här skapas felmedelanden och det är här som fälten sparas vid ny och editerad. Det är också här det avgörs om det ska visas ett fält eller bara text för visning.

movie_c.php

<?php

require('variabler_inc.php');

// la in en if i fall jag skall bugg köra till dig så jag kan köra lokalt går mycket snabbare då
if ($CMDLINE == "WIN" or $SERVER_NAME == "localhost"){
     // lokalt windows			
     $f = mysql_pconnect("localhost","nobody","");
}else{
     // on the web
     $f = mysql_pconnect($mysql_hostname, $mysql_login, $mysql_password);
}
			
	if (empty($func)) $func="new";	
	if (empty($story_ok)) $story_ok=1;	
	
	// denna variabeln säger om htmlen ska visas eller inte
	// den sätts till noll när vi sparat material
	// det enda som visas om den sätts till 0 är "$html_start_stuff" och "$html_end_stuff"
	$Show_html = 1;

	// dessa variabler används för att visa användaren information.
	$html_start_stuff = "";
	
	$html_id = "";
	$html_create_date = "";
	$html_edit_date = "";
	$html_movie_title = "";
	$html_category_action = "";
	$html_category_drama = "";
	
	$html_submit = "";
	
	$html_end_stuff = "";
	

$datime = time(); 

	// ---------------------- 
	
	// kollar vad användaren vill göra
	if (isset($func) && $func == "store_new") {
	
		// skapar en variabel för att ha som koll på att allt är koreckt
		// vid sparande eller skapande av ny post	
		$ok = 1;
		
		//skapar en variabel för att kunna ta fram "överklagande-knappen"
		$story_ok = 1;
	
		// ****************************** lagra en ny post ******************************
	
		// skapar en tom sträng för att samla variabel namnen i 
		$fields = "";
		
		// skapar en tom sträng för att samla variabel värderna i
		$values = "";
	
		
		// tar bort ev. mellanslag i slutet och början av strängen
		$create_date=chop($create_date);
		
		// kollar så att inte strängen är tom. Då hoppar vi över den
		// if ($create_date_year!="") {
		if ($create_date!="") {
			$fields .= ",create_date";
			// $values .= ",'$create_date_year-$create_date_mon-$create_date_day'";
			$values .= ",'$create_date'";
		}
		
		
		
		$edit_date=chop($edit_date);

		// kollar så att inte strängen är tom. Då hoppar vi över den
		// if ($edit_date_year!="") {
		if ($edit_date!="") {
			$fields .= ",edit_date";
			// $values .= ",'$edit_date_year-$edit_date_mon-$edit_date_day'";
			$values .= ",'$edit_date'";
		}
				

		// tar bort ev. mellanslag i slutet och början av strängen
		$movie_title=trim($movie_title);

		// kollar så att inte strängen är tom. Då hoppar vi över den
		if ($movie_title!="") {

			// lägger in variabelns namn 
			$fields .= ",movie_title";

			// lägger in variabelns värde
			$values.=",'$movie_title'";
		}  else {
			$ok = 0;
			$html_movie_title .= "<br>\r\n";
			$html_movie_title .= "<font color=\"#FF0000\">";
			$html_movie_title .= "Du m&aring;ste skriva en tittle !"; 
			$html_movie_title .= "</font><br>\r\n";
		}
				
				
		
		// tar bort ev. mellanslag i slutet och början av strängen
		$category_action=trim($category_action);

		// lägger in variabelns namn 
		$fields .= ",category_action";
			
		// kollar om storryn är godkänd
		if ($category_action=="") { 
		
			// storryn är godkänd
			$values.=",1";
		} else {
			// storryn är inte godkänd
			$values.=",0";
		} 
				
				
		
		// tar bort ev. mellanslag i slutet och början av strängen
		$category_drama=trim($category_drama);

		// lägger in variabelns namn 
		$fields .= ", category_drama";
			
		// kollar om storryn är godkänd
		if ($category_drama=="") { 
		
			// storryn är godkänd
			$values.=",1";
		} else {
			// storryn är inte godkänd
			$values.=",0";
		} 
		
		
		
		// kollar om någon variabel som måste vara med saknades
		if (!$ok) {
			echo "N&aring;gra n&ouml;dv&auml;ndiga v&auml;rden saknades !";
			echo "<BR><A HREF=javascript:history.back()>F&ouml;rs&ouml;k igen</A>";
			exit;
		}
		
		
		if ($ok) {
			// Alla fält är ifylda korrekt
			
			
			// tar bort det extra kommatecknet		
			$fields = substr($fields,1,strlen($fields)-1);
	
			// tar bort det extra kommatecknet
			$values = substr($values,1,strlen($values)-1);
	
			$sql_query = "INSERT INTO ".$movie_db." ($fields) VALUES ($values)";
			
			// echo "sql_query - ".$sql_query."<br>\r\n";

			// lägger in grejerna i databasen
			$result = mysql($table_name,$sql_query);
			
			if (!empty($result)) {
				// insättandets lyckades
				
				//tar ut id nummret för posten vi just lade in
				$id = mysql_insert_id($f);
				
				// callback_meta("func=browselist&start=0");
				
				//talar om att vi nu vill titta på vår historia
				$func = "";
				
			} else {
			 	// ett fel har uppståt
				echo mysql_error()."<BR>\n";
				
				// hoppar ur all fortsatt programring
				exit;
			}

			
		} else {
			// några variabler behövdes kompliteras
			
			$func = "new_rebuff";
			
		} // if ($ok)
		
	} elseif (isset($func) && $func == "save_edit") {
		
		
		// skapar en variabel för att ha som koll på att allt är koreckt
		// vid sparande eller skapande av ny post	
		$ok = 1;
		
	
		// -------------------------------- spara en editerad post --------------
		
		// skapar en tom sträng för att samla variabel namnen och värden
		$fields = "";

		// -------- id ---------
		
		// tar bort ev. mellanslag i slutet och början av strängen
		$id=trim($id);

		// kollar så att inte strängen är tom. Då hoppar vi över den
		if ($id=="") {
			// strängen är tom vilket vi inte accepterar
			$ok = 0;
			
			echo "id saknas<br>\r\n";
			
			exit;
		}	
		
		// förbereder strängen för nästa inlägg
		$fields.=',';

		// lägger in variabelns namn 
		$fields.="id=";

		// gör om variabeln till integer
		$id = $id + 0;

		// lägger in variabelns värde
		$fields.="$id";
		
		
		// -------- edit_date ---------
		
		$edit_date=chop($edit_date);
		$fields.=',';
		$fields.="edit_date=";
		// $fields .= "'$edit_date_year-$edit_date_mon-$edit_date_day'";
		$fields .= "'$edit_date'";
		
		
		// -------- movie_title ---------
		$movie_title=trim($movie_title);
		$fields.=',';
		$fields.="movie_title=";
		$fields .= "'$movie_title'";
		
		
		// -------- category_action ---------
		$category_action=trim($category_action);
		$fields.=',';
		$fields.="category_action=";
			
		// kollar om storryn är godkänd
		if ($category_action=="") { 
		
			// storryn är godkänd
			$fields.="1";
		} else {
			// storryn är inte godkänd
			$fields.="0";
		} 
		
		
		// -------- category_drama ---------
		$category_drama=trim($category_drama);
		$fields.=',';
		$fields.="category_drama=";
			
		// kollar om storryn är godkänd
		if ($category_drama=="") { 
		
			// storryn är godkänd
			$fields.="1";
		} else {
			// storryn är inte godkänd
			$fields.="0";
		}
		
		// lägger in variabelns värde
		// -------- Sparar infon -----
		
		// kollar om någon variabel som måste vara med saknades
		if ($ok) {
		
			// tar bort det extra kommatecknet
			$fields = substr($fields,1,strlen($fields)-1);
		
			$sql_query = "UPDATE ".$movie_db." SET $fields WHERE id=$id";
	
			// echo "sql_query - ".$sql_query."<br>\r\n";
			
			// lägger in grejerna i databasen
			$result = mysql($table_name,$sql_query);
		
			if (!empty($result)) {
				// callback_meta("func=browselist&start=0");
			} else {
			 	// ett fel har uppståt
				echo mysql_error()."<BR>\n";
				
				// hoppar ur all fortsatt programring
				exit;
			}
			
			// för att användaren ska slippa se samma ghistoria fler gånger 
			// sätter vi id till 0 (ett nytt kommer att slumpas ut då)
			$id = 0;
		} // if ($ok)
	}  // elseif ($func == "save_edit") {
Medlem sedan maj 20071 061 inlägg
#8

(Fortsättning på filen "movie_c.php" då det inte fick plats i förra meddelandet)

	
	// -------------------------------------------- Design -------------------------------------------

	// Vi ska visa användaren information. 
	
	if ($func=='new') {
			
			// sätter create_date
			$create_date = "";

			// sätter edit_date
			$edit_date = "";
			
			// sätter movie_title
			$movie_title = $movie_title;
			
			// sätter category_action
			$category_action = "";

			// sätter category_action
			$category_action = "";
			
	} else if ($func=='new_rebuff') {
		// om vissa uppgifter inte var koreckt ifylda får man göra om !
		
		// hämtar inga variabler utan låter dom bvara pasera genom systemt som dom är.
	} else if (($func=='store_new') OR ($func=='edit')) {
		// efter vi har sparat historien så visar vi upp den för användaren.
		
			// skapar frågan till databas för att ta fram alla uppgifter till databasen
			// (vi har dom flesta uppgifter men plockar ändå fram dom från databasen för att veta att det är dom ricktiga)
			$sql_query = "SELECT * FROM ".$movie_db." WHERE id LIKE '".$id."'";
		
			// gör frågan till databasen
			$found_result = mysql($table_name,$sql_query);	

			// tar ut create_date
			$create_date = mysql_result($found_result,0,"create_date");

			// tar ut edit_date
			$edit_date = mysql_result($found_result,0,"edit_date");
			
			// tar ut movie_title
			$movie_title = mysql_result($found_result,0,"movie_title");
			
			// tar ut category_action
			$category_action = mysql_result($found_result,0,"category_action");
			
			// tar fram category_drama
			$category_drama = mysql_result($found_result,0,"category_drama");
		
	} else {
		echo "Hit skulle du ju inte komma :-O";	
		
		exit;
	}
	
	

		// kollar vilken funktion användaren vill ha
		if ($func == "new") {
			// användaren är ute efter att skapa en ny post
			
			// skapar datumet
			$create_date=date("Y-m-d G:i:s ",$datime);
			
			// redigera datumet
			$edit_date=date("Y-m-d G:i:s ",$datime);
			
			$html_start_stuff .= "<input type=\"hidden\" value=\"store_new\" name=\"func\">\n\r";
			$html_start_stuff .= "<input type=\"hidden\" value=\"$create_date\" name=\"create_date\">\n\r";
			$html_start_stuff .= "<input type=\"hidden\" value=\"$edit_date\" name=\"edit_date\">\n\r";
		
			
		} else if ($func=='new_rebuff') {
			// om vissa uppgifter inte var koreckt ifylda får man göra om ! 
			$html_start_stuff .= "<input type=\"hidden\" value=\"store_new\" name=\"func\">\n\r";
			$html_start_stuff .= "<input type=\"hidden\" value=\"$create_date\" name=\"create_date\">\n\r";
			$html_start_stuff .= "<input type=\"hidden\" value=\"$edit_date\" name=\"edit_date\">\n\r";

		} else {
			
			// redigera datumet
			$edit_date=date("Y-m-d G:i:s ",$datime);
			
			$html_start_stuff .= "<input type=\"hidden\" value=\"save_edit\" name=\"func\">\n\r";
			$html_start_stuff .= "<input type=\"hidden\" value=\"$id\" name=\"id\">\n\r";
			$html_start_stuff .= "<input type=\"hidden\" value=\"$edit_date\" name=\"edit_date\">\n\r";

		}
		
		
		
		// --------------------- movie_title ----------------
		
		// kollar vilken funktion användaren vill ha
		if ($func == "new" OR $func == "new_rebuff") {
			$html_movie_title .= "<input type=\"text\" name=\"movie_title\" size=\"20\" maxlength=\"50\" value=\"".$movie_title."\">";
			
			// en liten specialare för designens skull
			$html_movie_title .= "<br>\r\n";
		
		} else {
			// användaren vill bara titta på uppgifterna

			$html_movie_title .= $movie_title;
		}
		
		
		// --------------------- category_action ----------------
		
		// kollar vilken funktion användaren vill ha
		if ($func == "new" OR $func == "new_rebuff") {
			
			$html_category_action .= "<input type=\"checkbox\" name=\"category_action\" value=\"1\"";
			
			if ($category_action) {
				$html_category_action .= " checked";
			}
			
			$html_category_action .= "><br>";
			
		} else {
			// användaren vill bara titta på uppgifterna			
		
			if ($category_action) {
				$html_category_action .= " JA";
			} else {
				$html_category_action .= " NEJ";
			}
		}
		
		
		// --------------------- category_drama ----------------
		
		// kollar vilken funktion användaren vill ha
		if ($func == "new" OR $func == "new_rebuff") {
			
			$html_category_drama .= "<input type=\"checkbox\" name=\"category_drama\" value=\"1\"";
			
			if ($category_drama) {
				$html_category_drama .= " checked";
			}
			
			$html_category_drama .= "><br>";
			
		} else {
			// användaren vill bara titta på uppgifterna			
		
			if ($category_drama) {
				$html_category_drama .= " JA";
			} else {
				$html_category_drama .= " NEJ";
			}
		}
		
		
		//********************************
		
	
		// kollar vilken funktion användaren vill ha
		if ($func == "new" or $func == "new_rebuff") {
			// användaren är ute efter att editera eller göra en ny post
			
			$html_submit .= "<input type=\"submit\" name=\"submit_button\" value=\"spara\">";
			
		} else {
			// användaren vill bara titta på uppgifterna
			// vi gör ingen spara knapp.
			
			// skriver ut en ny knapp istället
			$html_end_stuff .= "<a href=\"".$PHP_SELF."?func=new\">";
			$html_end_stuff .= "[Skapa ny]";
			$html_end_stuff .= "</a>";
			
			// skriver ut en editera knapp istället
			$html_end_stuff .= "<a href=\"".$PHP_SELF."?func=edit&id=".$id."\">";
			$html_end_stuff .= "[Edit]";
			$html_end_stuff .= "</a>";
			
		} // if ($func == "new" or $func == "edit")

Här deffinerar du databs namn, tabellnamn, namn på filer osv. Detta så att man snabbt kan flytta ett script till andra servrar om så önskas. (har kanske inte så mycket användning nu, men jag använde det mycekt förr när man utvecklade script till kunder och för testade på egen server och efter flyttade det kunders osv.)
Har som du ser förbertt att göra en lista också. Den kommer men inte nu. Goss med tjejen går före :-)

variabler_inc.php

<?

$mysql_hostname = "";
$mysql_login = "";
$mysql_password = "";

$table_name = "";

	
	// -----------------------------------------
	
	// -- Databaser --
	
	// Databas tabellen
	$movie_db = "fun_story";

	// ------------- Filer ---------------
	
	// story
	$movie_file = "movie_g.php";
	
	// lista
	$movie_list_file = "movie_list_g.php";
?>

Vad du kommer att få upp (om allt funkar utan för mycket buggar) är tittle fält och 2 kryssrutor, resten får du lägga till själv senare.
Vad du behöver göra är en tabell med ett namn du skriver in i "variabler_inc.php" och tillderar variabeln "tabel_name". Du fyller också i datbasnamne, lösenord och login osv.

Tabellen ska innehålla fälten:
id
create_date
edit_date
movie_title
category_action
category_drama

- create_date och edit_date ska vara Date format
- movie_title ska vara varchar med ex. 100 (borde räcka med att längsta titeln är 100 teckan lång eller ?)
- id, category_action, category_drama ska vara int
- id ska vara massa mer som jag inte minns just nu. ska kolal upp det om du inte klara det.

det är väll allt tror jag.

Medlem sedan mars 2007217 inlägg
#9

Mr T underbart med din hjälp som jag sa förrut så har jag inte så stor koll på detta med php och sql databaser. Så det du skrev sist har jag ingen aning om vad du menar. Men för står att detta:

id
create_date
edit_date
movie_title
category_action
category_drama

Skall ligga i tabellen i databasen. Men som sagt ingen aning om hur man får detta till databasen.

Medlem sedan maj 20071 061 inlägg
#10

Var nu på morgonen (kl. är 10.00 så det är väll en definition av morgon :) ) inne och provkörde och testa scriptet. Endast 3 små ynka fel som nu är tillrättade i coden ovan. (lite imponerad av att jag kunde slänga ihop så mycket code utan att prova och bara fe så få fel) Så nu ska det nog funka. Du får väll koppla på en databas och skicka länken till mig så jag kan provköra det. Kan hända att det blir lite småfel när kopplingen till databasen tillkommer.
Ska sätta mig och slänga ihop en lista nu så du kan söka se alla dina filmer.

Medlem sedan maj 20071 061 inlägg
#11

Okej ! Nu har jag slängt ihop 2 filer som borde (om programmerings gudarna är med oss) visa dina filmer.

Första filen är den grafiska filen där du gör all grafik runt listan.

movie_list_g.php

<html>
	<head>
		<!META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
		<title>Movie List</title>

	</head>
<body bgcolor="#ffffff">
<?php
require('movie_list_c.php');
?>
<? echo "$html_start_stuff"; ?>

<table width="390" border="0" cellspacing="0" cellpadding="0">
	<tr>
		<td width="40"><img src="../img/empty.gif" alt="" height="5" width="40" border="0"></td>
		<td width="350">
		
<? // Vi kollar om "grafik HTML variablerna" ska skrivas ut
if ($Show_html) { 
?>
<? echo "$html_list"; ?><br>
<? echo "$html_submit"; ?>
	
<? } // if ($Show_html) ?>

</td>
	</tr>
</table>

<? echo "$html_end_stuff"; ?>

<? //  echo "</FORM>"; ?>

</BODY>

</HTML>
Medlem sedan maj 20071 061 inlägg
#12

Andra filen är den med själva coden som skapar listan och sortera den osv.

movie_list_c.php

<?php

require('variabler_inc.php');
	

// la in en if i fall jag skall bugg köra till dig så jag kan köra lokalt går mycket snabbare då
if ($CMDLINE == "WIN" or $SERVER_NAME == "localhost"){
     // lokalt windows			
     $f = mysql_pconnect("localhost","nobody","");
}else{
     // on the web
     $f = mysql_pconnect($mysql_hostname, $mysql_login, $mysql_password);
}
		
	if (empty($limit)) $limit=50;
	if (empty($whichfield)) $whichfield = "movie_title";
	if (empty($sortfield)) {
		// kollar om det är en sökning på gång
		if (isset($func) && $func == "search") {
			$sortfield=$whichfield;
		} else {
			$sortfield="movie_title";
		} // if (isset($func) && $func == "search")
	} // if (empty($sortfield))

	if (empty($searchvalue)) $searchvalue="";
	if (empty($searchvalue_not)) $searchvalue_not="0";
	if (empty($in_window)) $in_window=0;	
	if (empty($func)) $func="browselist";
	if (empty($order_by)) $order_by="movie_title";
	if (empty($order_desc)) $order_desc=0;
	

$datime = time(); 

	// -------------------------------------------- Design -------------------------------------------

	// Vi ska visa användaren information. 
	
	// vi nollar först massa variabler
	
	// denna variabeln säger om htmlen ska visas eller inte
	// den sätts till noll när vi sparat material
	// det enda som visas om den sätts till 0 är "$html_start_stuff" och "$html_end_stuff"
	$Show_html = 1;
	
	$html_start_stuff = "";
	
	$html_list = "";
	
	$html_submit = "";
	
	$html_end_stuff = "";

	// ------------------- S Ö K   R U T A -----

	// $html_list .= "searchvalue - ".$searchvalue."<br>";
	// $html_list .= "owner_user_id - ".$owner_user_id."<br>";
	$html_list .= "<FORM ACTION=\"".$PHP_SELF."\" METHOD=POST NAME=\"search\" target=\"_self\">";
	$html_list .= "<INPUT TYPE=HIDDEN NAME=func VALUE=search>";
	$html_list .= "<INPUT TYPE=HIDDEN NAME=\"start\" VALUE=0>"; // söker man ska den börja på noll igen
	$html_list .= "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1>\r\n";
	$html_list .= "<tr><td>\r\n";
	
	$html_list .= "<table BORDER=0 CELLSPACING=1 CELLPADDING=1>\r\n";
	$html_list .= "	<TR>\r\n";
	$html_list .= "		<TD>\r\n";
	$html_list .= "			<nobr>\r\n";
	$html_list .= "				<input type=\"text\" name=\"searchvalue\" value=\"".$searchvalue."\" size=\"20\" border=\"0\">\r\n";
// 	$html_list .= "				<input type=\"submit\" name=\"submitButtonName\" value=\"S&ouml;k\" border=\"0\">\r\n";
	$html_list .= "			</nobr>\r\n";
	if (($searchvalue!="") && (strlen($searchvalue) < 4)) {
		$html_list .= "<br>\r\n";
		$html_list .= "<font color=\"#FF0000\">Search String must be at least 4 chars long.</font>";
	}
	$html_list .= "		</td>\r\n";
	$html_list .= "	</TR>\r\n";
	$html_list .= "	<TR>\r\n";
	$html_list .= "		<TD COLSPAN=\"2\">\r\n";
	$html_list .= "			<nobr>\r\n";
	$html_list .= "				NOT :";
	$html_list .= "				<input type=\"checkbox\" name=\"searchvalue_not\" value=\"1\"";
	if ($searchvalue_not=="1") $html_list .= " checked";
	$html_list .= ">\r\n";
	$html_list .= "			</nobr>\r\n";
	$html_list .= "		</td>\r\n";
	$html_list .= "	</TR>\r\n";
	
	$html_list .= "	<TR>\r\n";
	$html_list .= "		<TD>\r\n";
	$html_list .= "			<nobr>\r\n";
	$html_list .= "				Visa :\r\n";
	
	$limit_array = array("10","25","50","75","100");
	
	// r‰knar posterna i arrayen vi fick tillbaka
	$array_num = count($limit_array);
	
	$html_list .= "				<select name=\"limit\" size=\"1\">\r\n";
	
	// räknar igenom resultaten
	for ($i = 0 ; $i < $array_num ; $i++) {
		$html_list .= "					<option value=\"".$limit_array[$i]."\"";
		if ($limit == ($limit_array[$i]+0)) $html_list .= " selected";
		$html_list .= "	>".$limit_array[$i]."</option>\r\n";
	} // for ($i = 0 ; $i
	
	$html_list .= "				</select>\r\n";
	$html_list .= "			</nobr>\r\n";
	$html_list .= "		</td>\r\n";
	$html_list .= "	</TR>\r\n";
	$html_list .= "</table>\r\n";
	
	$html_list .= "</td></tr>\r\n";
	$html_list .= "<tr><td align=\"right\">\r\n";
	$html_list .= "				<input type=\"submit\" name=\"submitButtonName\" value=\"Show\" border=\"0\">\r\n";
	$html_list .= "</td></tr>\r\n";
	$html_list .= "</TABLE>\r\n";
	$html_list .= "</form>\r\n";

	// ------------------- S Q L   F Ö R F R Å G A N -----

		/********** SEARCH *****************************************************/
	
		
		$sql_query = "SELECT";
		// tar fram variabler från address_name
		$sql_query .= " *";
		$sql_query .= " FROM";
		$sql_query .= " ".$movie_db." ";
		$sql_query .= " WHERE";
		
		$sql_query .= " (".$movie_db.".id NOT LIKE 0)";
		
		$sql_query .= " ORDER BY";
		if ($order_by=="") {
			// inget fält för order är valt
			$sql_query .= " movie_title";
		} else {
			// Ett order fält har valts
			$sql_query .= " ".$order_by."";
		} // if ($order_by=="")
		
		if ($order_desc) {
			// användaren har valt att vända på ordningen
			$sql_query .= " DESC";
		} // 
		
		if ( ($result = mysql($table_name,$sql_query)) && mysql_num_rows($result) ) { 
			$found = mysql_numrows($result);
		} // if ( ($result = mysqlquery($ta
		
		// talar om att en sökning har utförts
		$search_made = 1;
Medlem sedan maj 20071 061 inlägg
#13

(fortsättning på movie_list_c.php)

	// ------------------- V I S A   R E S U L T A T  -----
	
	// kollar om det blev några träffar
	// och att en sökning utförts
	if ($found != 0) {
	
		if (isset($func) && $func == "search" && $searchvalue != "" ) {
			$html_list .= "<B>S&ouml;kning efter '".$searchvalue."' returnerade ".$found." tr&auml;ffar</B><br>";
		} elseif (isset($func) && ($func == "browselist")) {
			// $html_list .= "<B>Alla poster visas</B><br>";
		} // if (isset($func) && $func == "search") {
	
		// ******** Sätter Sid variablerna *********
		
		if ($limit == 0) $limit = $found;
		if (empty($start)) $start=0;
		
		// **** Föregående / Previous ****
		
		if (isset($start) && ($start>0)) { 
			$html_list .= "<A HREF=\"$PHP_SELF?func=$func";
			if (isset($func) && $func == "search") $html_list .= "&searchvalue=".$searchvalue;
		
		$html_list .= "&limit=".$limit."";
		$html_list .= "&order_by=".$order_by."";
		$html_list .= "&order_desc=".$order_desc."";
		$html_list .= "&searchvalue_not=".$searchvalue_not."";
		
			// [Previous ",$limit,"]
			$html_list .= "&found=".$found."&start=".max($start-$limit,0)."&limit=".$limit."\">&lt;&lt;&lt;</A>&nbsp;&nbsp;";
		} else {
			// [Previous]
			$html_list .= "&lt;&lt;&lt;&nbsp;&nbsp;&nbsp;";
		} 
		
		// **** Sidnummer ****
		
		// Hur många sidor vi ska visa
		$num_of_pagese_shown = 6;
		
		// räknar ut hur många sidor det blir
		$tot_num_of_pages = round($found/$limit)+1;
		
		
		// om det blir fler än $num_of_pagese_shown ska vi bara visa
		// $num_of_pagese_shown st och endast visa $num_of_pagese_shown/2 före och $num_of_pagese_shown/2 efter
		// sidan vi är på.
		
		if ($tot_num_of_pages > $num_of_pagese_shown) {
			// det är för många sidor
			
			// kollar vilken sida vi är på
			// och säger att vi ska starta 2 sidor innan
			$first_page = round($start/$limit) - round($num_of_pagese_shown/2);
			
			// kollar så att vi inte hamnar under 0
			if ($first_page < 0) $first_page = 0;
			
			// visar bara $num_of_pagese_shown sidor framåt från startsidan
			$num_of_pages = $first_page + $num_of_pagese_shown;
			
			// kollar så vi inte gör fler sidor än det egentligen finns
			if ($num_of_pages > $tot_num_of_pages) {
				// vi har kommit till slutet
				
				// vi räknar därför starten från slutet 
				$first_page = $tot_num_of_pages - $num_of_pagese_shown;
				
				// vi sätter sista sidan vi ska räkna till till sista sidan !
				$num_of_pages = $tot_num_of_pages;
			} // if ($num_of_pages > $to
				
		} else {
			// det är inte för många sidor
			
			$first_page = 0;
			
			$num_of_pages = $tot_num_of_pages;
			
		} // if ($num_of_pages > 5)
		
		// indikerar för användaren att det finns fler sidor innan
		if ($first_page > 0) $html_list .= "..";
		
		for ($i =$first_page ;$i < $num_of_pages; $i++) {
			$this_start = $i*$limit;
			
			if (($i+1)<10) {
				$page_num = "0".($i+1);
			} else {
				$page_num = "".($i+1);
			}
			
			if ($this_start != $start) {
				$html_list .= "<A HREF=\"$PHP_SELF?func=$func";
				if (isset($func) && $func == "search") $html_list .= "&searchvalue=".$searchvalue;
	
		$html_list .= "&limit=".$limit."";
		$html_list .= "&order_by=".$order_by."";
		$html_list .= "&order_desc=".$order_desc."";
		$html_list .= "&searchvalue_not=".$searchvalue_not."";
		
				$html_list .= "&found=".$found."&start=".$this_start."&limit=".$limit."\">[".$page_num."]</A>";
			} else {
				// vi är redan på den sidan 
				$html_list .= "[".$page_num."]";
			} // if ($this_start != $start)
			
		} // for ($i =0 ;
			
		// indikerar för användaren att det finns fler sidor framåt
		if ($tot_num_of_pages > $i) $html_list .= "...";
		
		
		// **** Nästa / Next ****
		if (isset($start) && ((($start+$limit) < $found))) { 
			$html_list .= "&nbsp;&nbsp;<A HREF=\"$PHP_SELF?func=$func";
			if ($func == "search") $html_list .= "&searchvalue=".$searchvalue;
	
		$html_list .= "&limit=".$limit."";
		$html_list .= "&order_by=".$order_by."";
		$html_list .= "&order_desc=".$order_desc."";
		$html_list .= "&searchvalue_not=".$searchvalue_not."";
		
			// [Next ",min($found-$start-$limit,$limit),"]
			$html_list .= "&found=".$found."&start=".($start+$limit)."&limit=".$limit."\">&gt;&gt;&gt;</A>";
		} else {
			// [Next]
			$html_list .= "&nbsp;&nbsp;&gt;&gt;&gt;";
		} 
	
		// ****** Denna "sidans" sökning *****
		
		$sql_query .= " LIMIT $start,$limit";
		
		if ( ($result = mysql($table_name,$sql_query)) && mysql_num_rows($result) ) { 
			$num = mysql_numrows($result);
		} else {
			$num = 0;
		} // if ( ($result = mysqlquery($ta	
		
	
		$c1 = "#eeeeee";

		$c2 = "#FFFFFF";

		$html_list .= "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1>\r\n";
		$html_list .= "<TR>\r\n";
		$html_list .= "<TD></TD>"; // info
		
		$html_list .= "<TD></TD>"; // delete
		
		// movie_title
		$html_list .= "<TD>";
		$html_list .= "<A HREF=\"".$PHP_SELF."";
		$html_list .= "?searchvalue=".$searchvalue."";
		$html_list .= "&limit=".$limit."";
		$html_list .= "&order_by=movie_title";
		$html_list .= "&order_desc=".$order_desc."";
		$html_list .= "&searchvalue_not=".$searchvalue_not."";
		$html_list .= "&found=".$found."&start=".$start."&limit=".$limit;
	// $html_list .= "&sql_query=".$sql_query."";
		$html_list .= "\"";
		$html_list .= ">";
		$html_list .= "[Title]";
		$html_list .= "</A>";
		if ($order_by=="movie_title") {
			if ($order_desc==1) {
				$html_list .= $story_admin_order_up_link;
			} else {
				$html_list .= $story_admin_order_down_link;
			} // if (order_desc==1)
		} else {
			// ingen bils dätts dit
		} // if ($order_by=="author")
		$html_list .= "</TD>";
		
		
		
		// category_action
		$html_list .= "<TD>";
		$html_list .= "<A HREF=\"".$PHP_SELF."";
		$html_list .= "?searchvalue=".$searchvalue."";
		$html_list .= "&limit=".$limit."";
		$html_list .= "&order_by=category_action";
		$html_list .= "&order_desc=".$order_desc."";
		$html_list .= "&searchvalue_not=".$searchvalue_not."";
		$html_list .= "&found=".$found."&start=".$start."&limit=".$limit;
	// $html_list .= "&sql_query=".$sql_query."";
		$html_list .= "\"";
		$html_list .= ">";
		$html_list .= "[Action]";
		$html_list .= "</A>";
		if ($order_by=="category_action") {
			if ($order_desc==1) {
				$html_list .= $story_admin_order_up_link;
			} else {
				$html_list .= $story_admin_order_down_link;
			} // if (order_desc==1)
		} else {
			// ingen bils dätts dit
		} // if ($order_by=="author")
		$html_list .= "</TD>";
		
		
		
		// category_drama
		$html_list .= "<TD>";
		$html_list .= "<A HREF=\"".$PHP_SELF."";
		$html_list .= "?searchvalue=".$searchvalue."";
		$html_list .= "&limit=".$limit."";
		$html_list .= "&order_by=category_drama";
		$html_list .= "&order_desc=".!$order_desc."";
		$html_list .= "&searchvalue_not=".$searchvalue_not."";
		$html_list .= "&found=".$found."&start=".$start."&limit=".$limit;
	// $html_list .= "&sql_query=".$sql_query."";
		$html_list .= "\"";
		$html_list .= ">";
		$html_list .= "[Drama]";
		$html_list .= "</A>";
		if ($order_by=="category_drama") {
			if ($order_desc==1) {
				$html_list .= $story_admin_order_up_link;
			} else {
				$html_list .= $story_admin_order_down_link;
			} // if (order_desc==1)
		} else {
			// ingen bils dätts dit
		} // if ($order_by=="author")
		$html_list .= "</TD>";

	//	$html_list .= "<TD></TD>"; // checkbox edit

		$html_list .= "</TR>\r\n";

	$c = "";

	for ($i =0 ;$i < $num; $i++) {

		$c = ($c == $c1)?$c2:$c1;
		
		$this_id = mysql_result($result, $i, "id") + 0;

		$html_list .= "<TR BGCOLOR=\"$c\">";
		
		// ------------------ movie_title
		$html_list .= "<TD>";
		$html_list .= "<A HREF=\"".$movie_file."?id=".$this_id."&in_window=1\" \">";
		$val = mysql_result($result, $i, "movie_title");
		if (strlen($val) > 20) $val = substr($val, 0, 20)."...";
		$html_list .= $val;
		$html_list .= "</A>";
		$html_list .= "</TD>";
		
		$html_list .= "\r\n";
		
		// ------------------ category_action
		$html_list .= "<TD>";
		$val = mysql_result($result, $i, "category_action");
		if ($val) {
			$html_list .= "X";
		} else {
			$html_list .= "";
		}
		$html_list .= "</TD>";
		
		$html_list .= "\r\n";
		
		// ------------------ category_drama
		$html_list .= "<TD>";
		$val = mysql_result($result, $i, "category_drama");
		if ($val) {
			$html_list .= "X";
		} else {
			$html_list .= "";
		}
		$html_list .= "</TD>";
		
		$html_list .= "\r\n";

		$html_list .= "</TR>";

	} // for
		
	$html_list .= "<TR>";
		
	$html_list .= "</TABLE>";
		
	$html_list .= "</form>";

 // 	mysql_free_result($result);
	
	
	$html_end_stuff .= "<nobr>";
	
	// if ($user_admin==1) {
		// skriver ut en ny knapp istället
		// }	
	$html_end_stuff .= "</nobr>";
} // if 

?>

Det var nog allt !
Skapa nu en databas så får vi sse hur det funkar. Tror nog att du och jag får skystera lite fler buggar frammöver. Men när det väl är på G så är det bara för dig att lägga in ytterligare fält du vill ha (fler kategorier) och så en fylla på med alla dina filmer.

lycka till

Medlem sedan mars 2007217 inlägg
#14

Går det att använda denna mysql ?

<?php 
$conn = mysql_connect('localhost', 'användanamn', 'lösen') or die(mysql_error()); 
mysql_select_db('databasnamn') or die(mysql_error()); 

mysql_query("create table login( 
     uid int(11) not null auto_increment, 
     username varchar(255) not null, 
     password varchar(40) not null, 
     primary key(uid) 
)") or die(mysql_error()); 

mysql_close($conn); 
?>

Alltså kan jag byta ut username och password till action drama ?

Medlem sedan maj 20071 061 inlägg
#15

Vilket hotell ligger du på ? Många hotell har ett gränsnitt för att administrera databaserna. Då slipper du massa strul med MySQL frågor. Kolla efter ett sådant för det kan underlätta OERHÖRT. Jag kan om du vill tippsa om ett billigt hotell som heter http://www.scorpiondata.com/
Lite sega servrar upplever jag ibland men bra för den som vill lära sig och inte har den stora plånboken.
Om du har planer på att regga dig så hojta till så att jag kan få lite credit för att jag fixade en kund åt dom :-)
FSdata är annars att föredar (av dom jag testat), men dom kostar också därefter.

Utan att testa så borde det se ut såhär :

mysql_query("create table movies( 
     id int(11) not null auto_increment,
     create_date DATETIME,
     edit_date DATETIME,
     movie_title varchar(255) not null, 
     category_action int(2) not null,
     category_drama int(2) not null,
     primary key(id) 
)") or die(mysql_error());

DATETIME kanske behöver någon mer parrameter, men jag föreslår att du testar och ser.

Medlem sedan mars 2007217 inlägg
#16

Jag har ett webhotell https://www.oderland.se känner dom som äger det. Men tack ändå för tipset så skall jag prova databas strukturen.

Medlem sedan mars 2007217 inlägg
#17

Så här står det när jag försöker lägga in databas strukturen du gav mig mr t

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mysql_query("create table movies(
id int(11) not null auto_increment,
' at line 1

Det blev fel alltså ! :)

Medlem sedan maj 20071 061 inlägg
#18

Prova att köra det andra "orginal" scriptet som jag bara rippade och ändrade lite i. Det kan ju vara något fel där. sedan skulle jag nog ta bort alla mellanslag och radbrytningar, för dom kan nog ställa till det en hel del. Lycka till.

Be dina vänner att instalera ett databasgränsnitt. Det finns om i alla fall ett som är gratis (tror jag) och som är bra. Det skulle göra att sådana här saker undviks.

Medlem sedan mars 2007217 inlägg
#19

Nja din databas struktur fungerade inte.

Medlem sedan maj 20071 061 inlägg
#20

Har du lyckats göra en databas och det är fälten du menar eller är det skapandet av databasen som strular för dig ?

Om du lyckas göra en databas och laggt ut coderna jag skickat så kan du väll hojta till så kollar jag på det och ser vad det är som strula. Det allra bästa vore om vi kunde kontackta varandra via MSN och fixa felen direckt någon kväll när du har tid.

305 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
174 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)