Gå til innhold

Har et spørsmål angående forum!


Anbefalte innlegg

Videoannonse
Annonse

For å svare på spm ditt php_user; for å hente ut kun et felt lager du en query slik:

 

$result = mysql_query('SELECT topic_id FROM forum_topic WHERE \'something\' = \'something\';');

 

dersom du forventer kun 1 rad:

$row = mysql_fetch_row($result); // $row er et array med alle feltene i raden

$row = $row[0]; // i dette tilfellet er det kun 1 felt altså $row[0]

 

dersom du forventer flere rader kan du legge de i et array:

while($row = mysql_fetch_row($result)) {

$rows[] = $row[0];

}

 

syntaksen: $variabel[] = 'noe';

betyr: lag et array dersom det ikke eksisterer og/eller legg til 'noe'.

 

kan sammenliknes med $string .= 'streng'; som er det samme som $string = $string.'streng';

 

edit: bortsett fra at $string må allerede være laget for å bruke .= syntaks. $rows trenger ikke være laget. og i $rows[] får hver ting du legger til på denne måten sin egen index.

Endret av grimjoey
Lenke til kommentar

Enda en feilmelding:

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 '' at line 1

 

 

Med denne koden: Hva er feil nå ?

 

<?php

if (isset($_POST['ok'])) {


# | MYSQL INNSTILLINGER | #
$server = "**";
$dbnavn = "**";
$dbpass = "**";
$dbtable = "**";


# | KOBLER TIL | #
mysql_connect($server, $dbnavn, $dbpass) or die (mysql_error());
mysql_select_db($dbtable) or die (mysql_error());

$topic_id=$_POST['topic_id'];
$topic=$_POST['topic'];
$tut=$_POST['tut'];



$sql = "INSERT INTO forum_topic2(topic_id, topic, tut) VALUES('$topic_id','$topic','$tut'";
$resultat = mysql_query($sql) or die( mysql_error() );

if($resultat) {
echo "Velykket!<br>";
echo "<a href=k.php>Trykk her for å se det nye forumet!</a>";
}
else {
echo "Noe feil skjedde";
}
mysql_close();
}

?>
<form action="<?php echo $_SERVER['php_self']; ?>" method="post">
Tittel:<br />
<input type="text" name="topic_id" /><br />
Forklaring til posten: (tekst under tittelen)<br />
<input type="text" name="topic" /><br />
Post:
<textarea cols="30" rows="10" name="tut"></textarea><br />
<input type="submit" value="Send" name="ok" />
</form>

Endret av php_user
Lenke til kommentar

Det ble vist noe krøll med nyhetssystemet også :p Hva er feil nå ? Det er i kode 2 det er noe feil nå trur jeg ?

 

 

Her er feilmeldingen:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/110mb.com/s/u/p/p/o/r/t/-/support-u/htdocs/sider/index.php on line 40

 

 

to koder:

 

1:

<?php

	  ##########################################################
	  #														#
	  # NYHETS SYSTEM AV http://support-u.110mb.com			#
	  # er det noe feil ? Ta kontakt! [email protected]   #
	  #														#
	  ##########################################################

//	  MYSQL DATABASEN:

#		 CREATE TABLE `nyheter` (
#		 tittel` VARCHAR( 255 ) NOT NULL ,
#		 `tekst` LONGTEXT NOT NULL ,
#		 `mail` VARCHAR( 255 ) NOT NULL
#		 ) TYPE = MYISAM;



## MYSQL KONFIGURAJON

$server = "**"; // Din server/host her
$db = "**";			// Mysql Brukernavn
$pass = "**";			   // Mysql Passord
$db2 = "**";		   // Databasen din

// Kobler til

mysql_connect($server, $db, $pass) or die("Kunne ikke koble til mysql serveren/hosten");
mysql_select_db($db2) or die("Fant ikke databasen du har angitt");

if(isset($_POST['leggtil'])) {

// Alle feltene = post
$tittel = $_POST['tittel'];
$tekst = $_POST['tekst'];
$mail = $_POST['mail'];

// Litt str_replace
$tekst = str_replace("<","<", $tekst);
$tekst = preg_replace ('/\[b\](.*?)\[\/b\]/is', '<b>$1</b>', $tekst); // Fet skrift
$tekst = preg_replace ('/\[u\](.*?)\[\/u\]/is', '<u>$1</u>', $tekst); // Understreket Skrift
$tekst = preg_replace ('/\[i\](.*?)\[\/i\]/is', '<i>$1</i>', $tekst); // Kursiv skrift
// Link:
$tekst = preg_replace("#\[url=([^\"']+?)\](.+?)\[/url\]#is", "<a href=\"http://$1\">$2</a>", $tekst);


// Sender infoen til databasen:
$sql = "INSERT INTO nyheter(tittel, tekst, mail)VALUES('$tittel','$tekst','$mail')";
$resultat = mysql_query($sql);

if($resultat) {
echo "Velykket<br>";
echo "<META NAME=\"refresh\" content=3;URL=\"http://support-u.110mb.com\">";
}
else {
echo "Det er noe feil med mysql-instillingene dine!";
}
mysql_close();
}
?>

 

 

 

 

2.:

<?php

	  ##########################################################
	  #														#
	  # NYHETS SYSTEM AV http://support-u.110mb.com			#
	  # er det noe feil ? Ta kontakt! [email protected]   #
	  #														#
	  ##########################################################

//	  MYSQL DATABASEN:

#		 CREATE TABLE `nyheter` (
#		 tittel` VARCHAR( 255 ) NOT NULL ,
#		 `tekst` LONGTEXT NOT NULL ,
#		 `mail` VARCHAR( 255 ) NOT NULL
#		 ) TYPE = MYISAM;



## MYSQL KONFIGURAJON

$server = "**"; // Din server/host her
$db = "**";			// Mysql Brukernavn
$pass = "**";			   // Mysql Passord
$db2 = "**";		   // Databasen din
$tbl_navn = "**";			 // Table navn

// Kobler til

mysql_connect($server, $db, $pass) or die("Kunne ikke koble til mysql serveren/hosten");
mysql_select_db($db2) or die("Fant ikke databasen du har angitt");

$sql="SELECT * FROM $tbl_navn ORDER BY id DESC";

$resultat=mysql_query($sql);
?>


<?php
while($rows=mysql_fetch_array($resultat)){ // Start looping table row
?>


  <div class="entry-title"><? echo $rows['tittel']; ?></div>
  <div class="date"><? echo $rows['mail']; ?></div>
  <p><? echo $rows['tekst']; ?></p>
  <p>
<?php
// Exit looping and close connection
}
mysql_close();
?>

Lenke til kommentar

<?php

if (isset($_POST['submit_endre_nyhet'])) {
 $id = (int)$_POST['id']
 $overskrift = $_POST['overskrift'];
 $nyhet = $_POST['nyhet'];
 mysql_query("UPDATE nyheter SET overskrift = \'$overskrift\', nyhet = \'$nyhet\' WHERE id = $id;"); // husk å validere input
} else {

 $nyhetId = $_GET['nyhet'];

 $res = mysql_query('SELECT * FROM nyheter WHERE id = '.(int)$nyhetId.';');
 $array = mysql_fetch_row($result);

 echo "
<form action=\"\" method=\"POST\">
 Id: <input type=\"text\" name=\"id\" value=\"$array[0]\" readonly=\"readonly\"/><br />
 Overskrift: <input type=\"text\" name=\"overskrift\" value=\"$array[1]\" /><br />
 Nyhet: <input type=\"text\" name=\"nyhet\" value=\"$array[2]\" /><br />
 <input type=\"submit\" name=\"submit_endre_nyhet\" value=\"Lagre endring\" />
</form>
";
}

 

kanskje noe slikt. utestet. litt usikker på om jeg har rett syntaks på UPDATE statement.

 

mysql_fetch_row() returnerer et numerert array med alle feltene. så i dette tilfelle forutsetter bruken av $array[x] at du har kun disse feltene i tabellen:

 

id overskrift nyhet

Endret av grimjoey
Lenke til kommentar

Funket ikke :hmm: Skjermen ble helt hvit - Og det ble ikke noe endret i nyheten....

 

 

Kan jeg kansje lage noe ut av denne:??? Er det mulig ??

UPDATE xoops_bb_posts_text
SET post_text=(
REPLACE (post_text,
'morphix.sourceforge.net',
'www.morphix.org'));

Endret av php_user
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...