Gå til innhold

Noen PHP spm


Anbefalte innlegg

Skrevet

Hei,

Jobber med mine php kunnskaper for tiden og begynner å forstå ting og da er det artig!:D

 

Her er noe spm jeg lurer på, håper noen ka svare på dem!:D

 

- Jeg har laget et news script, der jeg bruker id for å holde styr på dette, Men hvordan kan jeg få mysql databasen til å kun vise de 5 nyeste?

 

-Få Mysql basen til å vise kun noen få linjer fra newsa man møter på siden? Slik at det kommer en forhåndsvisnings og les mere?

 

-Har innstaller en av disse javascrip skriverne for å poste nyheter, hvordan kan jeg til passe en css script som sier hvordan rammen rundt teksten skal vere? www.sjohaugbygg.no Som dere ser der er det en hvit ramme rundt titlen og bodyen(eller der hovedinnholdet er) Når jeg bruke disse java editerne så ble det plutselig mange flere slike bokser rundt vert enter tryk(?) og hver gang jeg skiftet skriftstørrelse(?)

 

Takker for svar, jeg synes php er artig nå som man begynner å forstå!:D

Videoannonse
Annonse
Skrevet
- Jeg har laget et news script, der jeg bruker id for å holde styr på dette, Men hvordan kan jeg få mysql databasen til å kun vise de 5 nyeste?

LIMIT 5 ORDER BY opprettet_tid ASC

Der opprettet_tid er et datofelt/timestamp. Bytt ut ASC med DESC for motsatt rekkefølge.

 

-Få Mysql basen til å vise kun noen få linjer fra newsa man møter på siden? Slik at det kommer en forhåndsvisnings og les mere?
Se på MySQL sin LEFT() -funskjon.

 

-Har innstaller en av disse javascrip skriverne for å poste nyheter, hvordan kan jeg til passe en css script som sier hvordan rammen rundt teksten skal vere? www.sjohaugbygg.no Som dere ser der er det en hvit ramme rundt titlen og bodyen(eller der hovedinnholdet er) Når jeg bruke disse java editerne så ble det plutselig mange flere slike bokser rundt vert enter tryk(?) og hver gang jeg skiftet skriftstørrelse(?)

Er ikke helt med, men google css border.

Skrevet

Visst du venter litt kan jeg redigere sjohaugbygg.no siden igjen å laste opp slik det skal være så får du se:P Må bare gjøre norsk leksene :)

Skrevet

Se på MySQL sin LEFT() -funskjon. Fant noe om den "Returns the leftmost len characters from the string str, or NULL if any argument is NULL.

 

mysql> SELECT LEFT('foobarbar', 5);

-> 'fooba'"

 

Men jeg forstå den ikke helt, kan du gi en definasjon?

BTw koden til der jeg henter ut nyhetene fra: http://pastebin.no/z3232

Skrevet

Okei, noen som vet en kode for hvordan at det blir automatisk satt inn en data o mysql databasen når jeg poster en nyhet?:)(

 

Ehm, hva mener du?

Bruker du INSERT blir jo dataen satt inn med en gang du kjører spørringen.

Skrevet

Kan sende deg koden visst du vil,

 

function add_content($p) {
	$title = mysql_real_escape_string($p['title']);
	$body = mysql_real_escape_string($p['body']);
	$date = mysql_real_escape_string($p['date']);

	if(!$title || !$body || $date):

		if(!$title):
			echo "<p>Det trengs en overskrift!</p>";
		endif;
		if(!$body):
			echo "<p>innlegget mangler tekst!</p>";
			endif;
		if(!$date):
			echo "<p>Det mangler en dato</p>";
			endif;

			echo '<p><a href="add-content.php">Prøv Igjen!</a></p>';
		else:
			 $sql = "INSERT INTO cms_content VALUES (null, '$title', '$body', '$date')";
			 $res = mysql_query($sql) or die(mysql_error());
			 echo "Nyheten er lagret!";
		endif;
	}

Skrevet

Siterer meg selv

 

Okei, noen som vet en kode for hvordan at det blir automatisk satt inn en data o mysql databasen når jeg poster en nyhet?:)(

 

Ehm, hva mener du?

Bruker du INSERT blir jo dataen satt inn med en gang du kjører spørringen.

 

Hva er du vil? :) Gi et eksempel på hvordan det skal fungere

Skrevet

hehe dette vil jeg:

 

Når en lager en nyhet på nettsiden sitt adminpalnel skal han sette inn en dato som blir lakt inn i data basen som da organiserer hvordan nyhet som er nyest osv.

 

jeg vil også at det skal kun vises 100bokstaver av ver nyhet, så skal det komme vis mer.

 

Det er dette jeg plages med:)

Skrevet

LEFT() setter du inn i spørringen slik:

 

SELECT LEFT(tekst,100) AS ingress FROM tabell ....

 

Deretter bruker kan du hente ingress med $row[] på samme måte som du henter andre felt (kolonner).

  • Liker 1
Skrevet

må bare si at jeg ikke helt skjønner hvordan jeg skal få denne inn i php koden, men skal gjøre et forsøk, skal "tekst" være body i mitt tilfelle?

Skrevet

må bare si at jeg ikke helt skjønner hvordan jeg skal få denne inn i php koden, men skal gjøre et forsøk, skal "tekst" være body i mitt tilfelle?

 

Du har vel bare 1 spørring til å hente ut? Da modifiserer du den spørringen

Skrevet

Okei, noen som vet en kode for hvordan at det blir automatisk satt inn en data o mysql databasen når jeg poster en nyhet?:)(

Hvis du mener dato kan du enkelt bruke timestamp.

opprettet timestamp default CURRENT_TIMESTAMP comment 'the time this datarow was created. do not include in insert or update'

 

NB: virker kun på et felt for hver tabell, og det kan være når det blir laget, når det endres (ON UPDATE) eller begge, men kun et felt i hver tabell. Hvis du vil ha et felt for opprettet og et for endret må du lage en trigger.

create trigger tablenameTimeCreated before insert on tablename for each row set NEW.opprettet = NOW();
create trigger tablenameTimeUpdated before update on tablename for each row set NEW.endret = NOW();

Skrevet

hehe, dette ble visst veldig avansert, må vel bare prøve meg frem:D Men denne LEFT() skal den vere i der jeg henter ut dataen? :hmm:

Skrevet

Antar koden du bruker for å hente nyheter ligner på dette;

 

$sql = "SELECT * FROM `news`";

 

evnt $sql = "SELECT `id`,`tittel`,`body` FROM `news`";

 

forskjellen på de to spørringene over er bare at den siste spesifiserer hvilke kolonner du skal hente, den øverste tar alt. Generelt ett bør du spesifisere hva du vil ha ettersom dette er mer effektivt.

 

Uansett, la oss nå si at den kolonnen du vil "minske teksten i" heter "body", da må du spesifisere at du vil minske den når du henter den i MySQL.

 

f.eks;

$sql = "SELECT `id`,`tittel`,LEFT(`body`,100) FROM `news`";

 

Dette betyr; Velg id,tittel og "100 bokstaver fra venstre av body", fra tabellen news

  • Liker 1
Skrevet

Antar koden du bruker for å hente nyheter ligner på dette;

 

$sql = "SELECT * FROM `news`";

 

evnt $sql = "SELECT `id`,`tittel`,`body` FROM `news`";

 

forskjellen på de to spørringene over er bare at den siste spesifiserer hvilke kolonner du skal hente, den øverste tar alt. Generelt ett bør du spesifisere hva du vil ha ettersom dette er mer effektivt.

 

Uansett, la oss nå si at den kolonnen du vil "minske teksten i" heter "body", da må du spesifisere at du vil minske den når du henter den i MySQL.

 

f.eks;

$sql = "SELECT `id`,`tittel`,LEFT(`body`,100) FROM `news`";

 

Dette betyr; Velg id,tittel og "100 bokstaver fra venstre av body", fra tabellen news

 

Tusen takk! det var fantastisk forklart, nå forstod jeg det! Takker!

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...