Jump to content

koda uzlabosana!


edw
 Share

Recommended Posts

sveiki,

man ir 2 jautajumi, vajadzetu panakt lai kad lapa ir 5 komenti tad izveidojas jauna lapa utt katra pa 5 komenti

un tad vel lai nevaretu atsat neaizpilditus laukus..

es te proveju visadus variantus bet nekas nesanak

te bus kods... loti is un vienkars....

http://paste.php.lv/5250

 

liels paldies jau ieprieks!

Link to comment
Share on other sites

Guest BenZ
(labots)

nu vispār te būs piemērs kurš no mana phpbb izvelk useru sarakstu un sadala pa lapām:

 

<?php
include 'connect.php';
print('<p align="center"><font face="Snap ITC" style="font-size: 24px">Memberlist</font>   <img src="images/smiles/construction.gif"> </p>');
// how many rows to show per page



// by default we show first page
$pageNum = 1;


// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
if ($pagNum == 1)
{
$rowsPerPage = 11;
}
else
{
$rowsPerPage = 2;
}
// if $_GET['letter'] defined, use it as page number
if(isset($_GET['letter']))
{
$letter = $_GET['letter'];
}
$letter2 = $letter;
if ($letter == 'other')
{
$letter = "WHERE user_id != -1 AND LEFT(username,1) NOT IN ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','q','p','r','s','t','u','v','w','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','Q','P','R','S','T','U','V','W','Y','Z')" ;
}
else
{
$letter = "WHERE username LIKE '$letter%'";
}
$searcha = $_POST["T1"];
if ($searcha)
{
$search = $_POST["T1"];
}
else
{
$searcha = $_GET['search'];
}
$combo = $_POST['D1'];
if ($combo)
{
$combo = $_POST["D1"];
}
else
{
$combo = $_GET['types'];
}

if ($combo == 'StartsWith')
{

$search = "WHERE username LIKE '$searcha%' AND user_id != -1";
}
else
{
$search = "WHERE username LIKE '%$searcha%' AND user_active = 1";
}
$lettera = " <a href=\"$self?page=1&$letter=a\">A </a> ";
$rankpath = "images/ranks/";
$avatarpath = "images/avatars/";
// counting the offset

$offset = ($pageNum - 1) * $rowsPerPage;

$sql  = "SELECT * FROM phpbb_users $search ORDER BY user_rank LIMIT $offset, $rowsPerPage";
 $res = mysql_query($sql, $con);



 print('<table border="3" width="100%" id="table1" cellspacing="1">');
 print('
  <tr>
	<td align="center" valign="middle">Avatar</td>
	<td valign="middle" align="center" width="30" >
	<p align="center">ID</td>

	<td valign="middle">
	<p align="center"> Username</td>
	<td valign="middle">
	<p align="center"> Password</td>
	<td valign="middle">
	<p align="center"> Level</td>
</tr>
 ');
 $cipars = 0;
while ($row = mysql_fetch_assoc($res)) 


if ($row['user_id'] != -1)
{
$ciraps = $cipars +1;
{
if ($row['user_rank'] == 1)
{
$rank = '<img border="0" src="' . $rankpath. 'founder.png' . '">';
}
elseif ($row['user_rank'] == 2)
{
$rank = '<img border="0" src="' . $rankpath. 'admin.png' . '">';
}
elseif ($row['user_rank'] == 3)
{
$rank = '<img border="0" src="' . $rankpath. 'super-mod.png' . '">';
}
elseif ($row['user_rank'] == 4)
{
$rank = '<img border="0" src="' . $rankpath. 'moderator.png' . '">';
}
elseif ($row['user_rank'] == 5)
{
$rank = '<img border="0" src="' . $rankpath. 'support.png' . '">';
}
elseif ($row['user_rank'] == 6)
{
$rank = '<img border="0" src="' . $rankpath. 'vip.png' . '">';
}
elseif ($row['user_rank'] == 7)
{
$rank = '<img border="0" src="' . $rankpath. 'gamer.png' . '">';
}
elseif ($row['user_rank'] == 8)
{
$rank = '<img border="0" src="' . $rankpath. 'user.png' . '">';
}
$ciraps = $cipars +1;
 $img = '<img border="0" src="' . $avatarpath. $row["user_avatar"]. '">';


$sukaa = $avatarpath . $row['user_avatar'];
if ($row['user_avatar'])
{
 print( 
 '
<tr>
	<td align="center" valign="midle"> ' .
		$img .

	'</td>
	<td valign="middle" align="center" width="30"> ' . 
	$row["user_id"] . 
	'</td><td align="center"> ' . 
	$row["username"] . 
	'</td><td align="center"> ' . 
	$row["user_password"] . 
	'</td><td align="center"> ' . 
	$rank . 
	'</td>

</tr>
');
}
else
{	
$img = '<img border="0" align="center" valign="midle" src="' . $defaultavatar . '">';
 print( 
 '
<tr>
	<td width="150" align="center" height = 150 background="' . 
$sukaa . 
	'"> ' . 
		$img .
	'</td>
	<td valign="middle" align="center" width="30"> ' . 
	$row["user_id"] . 
	'</td><td align="center"> ' . 
	$row["username"] . 
	'</td><td align="center"> ' . 
	$row["user_password"] . 
	'</td><td align="center"> ' . 
	$rank . 
	'</td>
</tr>
');
};
 }
 }
 print('</table>');
 mysql_free_result($res);

echo '<br>';

// how many rows we have in database
$sql   = "SELECT COUNT(user_id) AS numrows FROM phpbb_users $search";
$result  = mysql_query($sql) or die('Error, query failed');
$row	 = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);

$self = $_SERVER['PHP_SELF'];

// creating 'previous' and 'next' link
// plus 'first page' and 'last page' link

// print 'previous' link only if we're not
// on page one

if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page&search=$searcha&type=$combo\">[Prev]</a> ";

$first = " <a href=\"$self?page=1&search=$searcha&type=$combo\">[First Page]</a> ";
} 
else
{
$prev  = '';	   // we're on page one, don't enable 'previous' link
$first = ''; // nor 'first page' link
}

// print 'next' link only if we're not
// on the last page
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page&search=$searcha&type=$combo\">[Next]</a> ";

$last = " <a href=\"$self?page=$maxPage&search=$searcha&type=$combo\">[Last Page]</a> ";
} 
else
{
$next = '';	  // we're on the last page, don't enable 'next' link
$last = ''; // nor 'last page' link
}

// print the page navigation link

echo $first . $prev . " Showing page <strong>$pageNum</strong> of <strong>$maxPage</strong> pages " . $next . $last;
 mysql_close($con); 

print('<br>');
print('<br>');
print('Search');
print('<form method="POST" action="' . $self . '">
<select size="1" name="D1">
<option value="StartsWith">Username Starts With</option>
<option selected value="Contains">Username Contains</option>
</select>
<p><input type="text" name="T1" size="20"><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
</form>');
print('<br>');
print('<br>');
print('<p align="center">Made by <br> <img src="img/benz.png"></p>')
?>
</body>
</html>

 

nu principaa panem no mana koda offsetu maxpage rowsperpage utt.

un pēc tam paķer kautko tādu queryjaaa

$query = "SELECT id, name, message, DATE_FORMAT(date, '%e/%d/%Y %H:%i') as newdate FROM guests ORDER BY id DESC LIMIT $offset, $rowsperpage";

Labots - BenZ
Link to comment
Share on other sites

emmm... biski ta ka pa garu.... :? kadam nav kads isaks risinajums???

Link to comment
Share on other sites

tā vienkāršoti:

 

zb.php - lapa, kura tev rādīs tos komentāru

zb.php?page=1 zb.php?page=2 utt.

 

1. nosaki patreiz esošo komentāru skaitu

2. nosaki cik lapas sanāk, ja izdala ar to tavu 5 (kom. skaits lapā)

3. dabū no url'a lapas numuru, kas jāparāda.

4. uzcep attiecīgu sql pieprasījumu: select * from komentaari limit 0 , 5; utt.

5. izpildi un drukā ārā

6. izdrukā arī saites uz citām komentāru lapām 1 | 2 | 3 | 4 | bla bla bla

Link to comment
Share on other sites

nja... meginaju, bet nesanaca... :( tapec veros te... es nezinu kapec bet sis kods man kka nepadodas... vienkārši nesanak nekas...

Link to comment
Share on other sites

varbut vienkārši kads var iedot linku google??? ;) veletos pat to vus saprast...

bet nevaru atrast neko google.. :(

Link to comment
Share on other sites

emm kka neredzu...

 

atradu.. :D

 

nu psc nekas neizdodas...

 

tikk errori pec kartas nak ara..

Link to comment
Share on other sites

es jau palenam esmu ticis lidz sim... bet tagad esmu iesprudis.. :(

Link to comment
Share on other sites

nu es saku error pec errora... :( tikko izlaboju vienu ta otrs jau prieksa utt,... :(

 

varbut kads var palidzet? :?

Link to comment
Share on other sites

Guest BenZ
(labots)

she maacies mazuliit

<html>
<head>
<title>Implementing Paging with next and prev</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
include '../library/config.php';
include '../library/opendb.php';

// how many rows to show per page
$rowsPerPage = 20;

// by default we show first page
$pageNum = 1;

// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;

$query  = "SELECT val FROM randoms LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed');

// print the random numbers
while(list($val) = mysql_fetch_array($result))
{
echo "$val <br>";
}

echo '<br>';

// how many rows we have in database
$query   = "SELECT COUNT(val) AS numrows FROM randoms";
$result  = mysql_query($query) or die('Error, query failed');
$row	 = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);

$self = $_SERVER['PHP_SELF'];

// creating 'previous' and 'next' link
// plus 'first page' and 'last page' link

// print 'previous' link only if we're not
// on page one
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[Prev]</a> ";

$first = " <a href=\"$self?page=1\">[First Page]</a> ";
} 
else
{
$prev  = ' [Prev] ';	   // we're on page one, don't enable 'previous' link
$first = ' [First Page] '; // nor 'first page' link
}

// print 'next' link only if we're not
// on the last page
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[Next]</a> ";

$last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
} 
else
{
$next = ' [Next] ';	  // we're on the last page, don't enable 'next' link
$last = ' [Last Page] '; // nor 'last page' link
}

// print the page navigation link
echo $first . $prev . " Showing page <strong>$pageNum</strong> of <strong>$maxPage</strong> pages " . $next . $last;

include '../library/closedb.php';
?>
</body>
</html>

 

Centies kodu likt

 tagos.[/color]

 

to garo kodu es izspiedu no shitaa

mans tur ir daudz daudz sarazgiitaaks

tur ir viss mekleetaajs avatari raki utt to tev visu neviag cik noprotu

starpcitu ja tev vaig mekleetaaju taisiit tad izmanto LIKE $_POST['mekleejamaa vaarda textbox']

un tici man nekad nesaki ka kods pa garu. dazreiz pat elementaaras lietas var buut loti sarezgiitas un gruuti saprotamas kodaa

Labots - ADEX
Link to comment
Share on other sites

ka vienmer error.... iestradajot kodu

Error, query failed! :@

Link to comment
Share on other sites

Žēloties jau visi mākam...

 

Kristāla bumba pateica priekšā, ka kļūda ir te:

$query = "SELECT val FROM randoms LIMIT $offset, $rowsPerPage";

$result = mysql_query($query) or die('Error, query failed');

1. izdrukā $query saturu un paskaties, ko izvada.

2. tev tabula "randoms" vispār ir??

Link to comment
Share on other sites

nu nav tak vinam. tas ir vienk no vienas vietas skripts nokopeets.

Link to comment
Share on other sites

1. izdrukā $query saturu un paskaties, ko izvada.

2. tev tabula "randoms" vispār ir??

 

meginaju visu bet nekas nesanak.. :p

Link to comment
Share on other sites

nu ja saprotu, nu ka var uztaisit DB?? :D atvr mysql un uztaisi...

vai to tu domaji?

Link to comment
Share on other sites

Tad tev tāda tabula "randoms" ar vajadzīgajām kolonnām ir, kur glabāt komentārus?

Link to comment
Share on other sites

nu tabula tada ir tik neviens nav paskaidrojis kadams kolonam jabut!

Link to comment
Share on other sites

Tajā pēdējā BenZ kodā pats pieliec klāt komentāru nolasīšanu, parādīšanu. Viņam doma bija parādīt, kā sadalīt pa vairākām lapām.

 

Lai ir droši, taisi pats, kā arī visu pārējo, kas _man_ nebija svarīgi.

<?php
/*
(c) Val
table kom:
id
name
message
ip
//datumu liec pats klāt. man slinkums
*/

$host='localhost';
$user='blabla';
$pass='blabla';
$db='blabla';

mysql_connect($host, $user, $pass) or die ("Nevar pieslēgties serverim.");
mysql_select_db($db) or die("Nevar pieslēgties DB.");
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

if(isset($_POST['name']) && isset($_POST['message'])) {
$name = mysql_real_escape_string($_POST['name']);
$message = mysql_real_escape_string(nl2br($_POST['message']));
$ip = $_SERVER['REMOTE_ADDR'];
};


if(isset($name) && isset($message) && !empty($name) && !empty($message)) {
$query = "insert into kom(name, message, ip) values ('$name', '$message', '$ip');";
$result = mysql_query($query);
};


?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p><input type="text" name="name" value="" /></p>
<p><textarea name="message" rows="5" cols="20"></textarea></p>
<p><input type="submit" value="piev" /></p>
</form>

<?php
if(isset($_GET['page'])) {
$page=$_GET['page'];
if(!is_numeric($page)) { $page=1; };
if($page<=0) { $page=1; };
}
else {
$page=1;
};

$komentaari_lapaa = 2;
$page=$page-1;
$start=$page*$komentaari_lapaa;

$sql = "select * from kom order by id desc limit $start,$komentaari_lapaa;";
$x = mysql_query($sql) or die(mysql_error);
while ($row = mysql_fetch_array ($x)) {
$name=$row['name'];
$message=$row['message'];
$ip=$row['ip'];
echo "<p>$name - $message - $ip</p>";
};

$zb = 'select id from kom;';
$z=mysql_query($zb);
$kom_skaits=mysql_num_rows($z);
$lapu_skaits = ceil($kom_skaits/$komentaari_lapaa);

if($kom_skaits==0) { echo 'Tu vari buut pirmais...'; };

for($i=1; $i<=$lapu_skaits; $i++) {

if($lapu_skaits==1) {
	//nekas
} else {
	echo '<a href="'.$_SERVER['PHP_SELF']."?page=$i\">$i</a> | ";
};
};

A to pusmēnesis pagājis, bet reāli neko neesi tā arī uztaisījis. :|

Link to comment
Share on other sites

DJ_BioniX

varbut kads pateiks kur kluda?

http://paste.php.lv/5303

 

 

zini ko es ieteiktu :) nopērc grāmatu "PHP soli pa solim" :D

 

 

jaa un es ceru ka tu maaki lasiit un konstatēt patiesāš kļūdas, nu es nedomaaju par smadzenēm, bet gan par tavu kodu :D ja lasiit maaki un arii debugot. ta jautaajumi ir lieki :)

Labots - DJ_BioniX
Link to comment
Share on other sites

Vispār kāda jēga bija taisīt dalīšanu pa lapām, ja tu savu(?) kodu bāz iekšā galīgi ne tajā vietā.

Ko mēģini nolasīt no guests tabulas? [Ja komentāru tabula ir cita...]

Komentāra pievienošanas forma jau ir

Kom. drukāšana arī.

utt...

Headeris pašās beigās nenostrādās :)

Link to comment
Share on other sites

Guest BenZ

jaaizmanto ob_start() vai arii hederis jaaliek koda augshaa. jo pirms hedera nedriikst neko izvadiit piem nekaadi print vai echo vai kas taads nedriikst buut

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...