Změna řazení uživatelů – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Změna řazení uživatelů – PHP – Fórum – Programujte.comZměna řazení uživatelů – PHP – Fórum – Programujte.com

 

Vlákno bylo úspěšně vloženo.
Pokud sám přijdeš na řešení, nezapomeň ho sem přidat!
Jirka
~ Anonymní uživatel
305 příspěvků
19. 5. 2015   #1
-
0
-

Dobrý den,

vize je taková:

aktivní uživatel má 1

čekající má 2

nepřítomen má 3

řadí se to podle toho kdy byl uživatel přidán,(takže uživatel 1 se přepne na 2, a po přepnutí na 1 se zařadí zpět na stejné místo k 1 kdy byl předtím) ale já bych potřeboval aby se to řadilo podle toho kdy uživatel má 1 a když se přepne na 2 a pak znovu na 1 tak aby se zařadil na poslední místo u uživatelů 1.

potřeboval bych pomoct s tím to kódem bohužel tomu nerozumím snad je to tento kód :

<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
?>
<?php 
$i=0;
mysql_select_db($database_sender, $sender);
$query_rec = "SELECT * FROM p_users WHERE aktivni=1 order by status ";
$rec = mysql_query($query_rec, $sender) or die(mysql_error());
$totalRows_rec = mysql_num_rows($rec);
while($row_rec = mysql_fetch_assoc($rec)) {?>
Nahlásit jako SPAM
IP: 190.124.67.–
Kit+15
Guru
19. 5. 2015   #2
-
0
-

#1 Jirka
Upřímně řečeno tomu příkladu moc nerozumím. Proč definuješ (zbytečnou) funkci GetSQLValueString(), když ji nikde nepoužíváš? I ten switch je v ní zcela zbytečný.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Jirka
~ Anonymní uživatel
305 příspěvků
19. 5. 2015   #3
-
0
-

#2 Kit
tak mi to napsal kamarád,ale bohužel umřel při auto nehodě,takže mi už neporadí a já tomu vůbec nerozumím

Nahlásit jako SPAM
IP: 190.124.67.–
Jirka
~ Anonymní uživatel
305 příspěvků
19. 5. 2015   #4
-
0
-

Mám k tomu administraci kde si uživatel navolí zda je online ofline hovoří a nebo je sponzor

online uživatel má 1

hovoří má 2

ofline má 3

sponzor má 4

teď se mi to řadí: když uživatel 1 se přepne na 2, zařadí se za všechny uživatele 1,a poté co se opět přepne na 1 zařadí se na stejné místo kde byl předtím, ale já bych potřeboval aby se zařadil na poslední místo uživatelů 1

Nahlásit jako SPAM
IP: 190.124.67.–
peter
~ Anonymní uživatel
3981 příspěvků
20. 5. 2015   #5
-
0
-

Pokud te zajima serazeni podle casu zmeny, tak ten cas zaznamenavej do db. Kdyz prestoupi, zmenis mu cas zmeny na aktualni, NOW(). Pocitani casu funguje tak, ze cim novejsi, tim vetsi cislo (pocet sekund do ted od roku 1970)
... ORDER BY status ASC, cas_zmeny DESC

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:a946:94...–
peter
~ Anonymní uživatel
3981 příspěvků
20. 5. 2015   #6
-
0
-

On se zaradi na stejne misto, protoze razeni v db je podle pridani radku, obvykle. Cili, kdyz se uzivatele registruji po sobe v rade:
1 Franta, 2 Tomas, 3 Zdenek
Tak pri zmene nejakeho policka budou porad v tomto poradi, na veky. Leda bys treba Frantu smazal a vytvoril, pak bude poradi:
2 Tomas, 3 Zdenek, 4 Franta

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:a946:94...–
Jirka
~ Anonymní uživatel
305 příspěvků
20. 5. 2015   #7
-
0
-

#6 peter
a to udělám v php nebo přímo v databázi mysql?

Nahlásit jako SPAM
IP: 190.124.67.–
Jirka
~ Anonymní uživatel
305 příspěvků
20. 5. 2015   #8
-
0
-

#6 peter
Napiš mi prosím příklad kam to vložím (jsem úplná lama)

Nahlásit jako SPAM
IP: 190.124.67.–
peter
~ Anonymní uživatel
3981 příspěvků
20. 5. 2015   #9
-
0
-

Prvne, pises lama, tak ti popisu veci, co mozna znas. Databaze je pro predstavu neco jako slozka se soubory na disku (ve skutecnosti je to cele jeden soubor, ale to je vedlejsi). Soubor v teto slozce se jmenuje tabulka. Ta vypada pro predstavu uplne presne jako tabulka v excelu, ale je jednorozmerna, cili ma zahlavi a pak uz nasleduji data.

cili to vypada treba takto

id, jmeno, prijmeni, status
1, franta; koukola, 1 
2, tomas; cerny, 1
3, zdenek, ocasek, 2

Kdyz smazes radek, tak to vypada takto

id, jmeno, prijmeni, status
2, tomas; cerny, 1
3, zdenek, ocasek, 2

Kdyz pak pridas, tak takto

id, jmeno, prijmeni, status
2, tomas; cerny, 1
3, zdenek, ocasek, 2
1, franta; koukola, 1 

Coz je pripad, ktery chces docilit. Ted franta bude az po tomasovi.

Totez dosahnes, kdyz tam pridas sloupec s casem a nemusis frantu mazat

Stav 0 - tady se pekne registrovali po sobe

id, jmeno, prijmeni, status, cas
1, franta; koukola, 1, 2014-7-21 9:23
2, tomas; cerny, 1, 2014-11-1 13:45
3, zdenek, ocasek, 2, 2015-5-1 11:04

Stav 1 - zmena skupiny u franty na 2, dnes, prave ted; kdyz to seradis podle statusu ASC, casu ASC, tak bude franta za zdenkem, protoze ma franta stejnou skupinu, ale vetsi cas

id, jmeno, prijmeni, status, cas
1, franta; koukola, 2, 2015-5-20 15:51
2, tomas; cerny, 1, 2014-1-11 13:45
3, zdenek, ocasek, 2, 2015-1-5 11:04

Stav 2 - zmena skupiny u franty zpet na 1, totez, bude za tomasem

id, jmeno, prijmeni, status, cas
1, franta; koukola, 1, 2015-5-20 15:51
2, tomas; cerny, 1, 2014-1-11 13:45
3, zdenek, ocasek, 2, 2015-1-5 11:04

A ted jeste muze nastat problem, kdyz menis stav 1 na stav 1, jestli ma byt na konci nebo takovy prikaz budes ignorovat a zustane pak na svem miste.

Tak, ke tve otazce, co je treba udelat.
- Je treba pridat sloupec do databaze a upravit sql prikazy v tom php kodu pro INSERT, UPDATE a SELECET (viz reseni s novym sloupcem cas).
- NEBO - upravit php kod tak, aby pro zmeny nepouzival sql prikazy UPDATE, ale DELETE a INSERT (viz reseni s mazanim).

Vyber si ktere reseni chces, ale obe znamenaji upravit casti programu, ktere jsi sem nenapsal. Obavam se, ze upravit jen SELECT prikaz nebude stacil, protoze se radky v db nepohybuji, cili se neda zmenit poradi. Ale mozna nekdo zkusenejsi bude vedet.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:a946:94...–
peter
~ Anonymní uživatel
3981 příspěvků
20. 5. 2015   #10
-
0
-

jo, u toho stavu 2 by se mel zmenit taky cas
1, franta; koukola, 1, 2015-5-20 15:51 2015-5-20 15:59

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:a946:94...–
Jirka
~ Anonymní uživatel
305 příspěvků
20. 5. 2015   #11
-
0
-

v mysql mám:

SELECT * FROM `p_users`
ORDER BY `p_users`.`poradi`  DESC

dá se to změnit na to aby se mi to řadilo jak potřebuji nebo se mýlím?

Nahlásit jako SPAM
IP: 190.124.67.–
peter
~ Anonymní uživatel
3981 příspěvků
21. 5. 2015   #12
-
0
-

Prvne mozna rici, jestli jsem spravne pochopil, co chces. Protoze ono to zrovna v prvnim prispevku neni moc srozumitelne...

Ted jsem se ti pokousel vysvetlit, jak to funguje. Tak, jak to mas ted se v sql nezmeni radky. Takze poradi pro ten SELECT zustane zachovane. Tudiz odpoved je ne, pokud neupravis i dalsi casti programu.
- Reseni 1, kdyz menis UPDATE na DELETE a INSERT predpoklada zmenu v casti programu, co jsi sem nenapsal.  Cely ten kod, co jsi sem dal, pro toto reseni se nezmeni. Zmeni se to jinde, tu cast jsi sem nedal.
- Reseni 2, pridani sloupce do tabulky vyzaduje upravu tabulky, upravu tam, kde mas UPDATE (a muzes i u INSERTu) a upravu SELECT. kokretne ten SELECT...

"SELECT * FROM p_users WHERE aktivni=1 order by status "; - predtim
"SELECT * FROM p_users WHERE aktivni=1 ORDER BY status ASC, cas ASC "; - potom 

(pro sql prikazy a funkce pouzivam velka pismena, proto jsem zmenil i to ORDER BY, ale je to jen kosmeticka uprava)

Tezko ti rici neco konkretnejsiho, kdyz ty casti, kde mas INSERT, UPDATE nejsou tady nikde vypsane. Jedine, co tu mas je ta cast se SELECT prikazem pro sql.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:14e0:f0...–
peter
~ Anonymní uživatel
3981 příspěvků
21. 5. 2015   #13
-
0
-

"nezmeni radky" - jakoze nezmenis poradi radku pri zmene, takze se tam nikde neulozi, ze jsi ten radek editoval naposled nebo v jakem poradi jsi ktery radek editoval. Proto ti radim tam pridat dalsi sloupec, kde ulozis vzdy aktualni datum a podle nej pak muzes serazovat.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:14e0:f0...–
Jirka
~ Anonymní uživatel
305 příspěvků
21. 5. 2015   #14
-
0
-

#12 peter
ještě jsem našel jeden soubor je to ono?

<?php require_once('../../Connections/sender.php'); ?>
<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "../userlogin.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  $updateSQL = sprintf("UPDATE p_users SET status=%s WHERE userID=%s",
                       GetSQLValueString($_POST['status'], "int"),
                       GetSQLValueString($_POST['userID'], "int"));

  mysql_select_db($database_sender, $sender);
  $Result1 = mysql_query($updateSQL, $sender) or die(mysql_error());

  $updateGoTo = "userdetail.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

$colname_users = "-1";
if (isset($_SESSION['username'])) {
  $colname_users = $_SESSION['username'];
}
mysql_select_db($database_sender, $sender);
$query_users = sprintf("SELECT * FROM p_users WHERE username = %s", GetSQLValueString($colname_users, "text"));
$users = mysql_query($query_users, $sender) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
$colname_users = "-1";
if (isset($_GET['MM_Username'])) {
  $colname_users = $_GET['MM_Username'];
}
mysql_select_db($database_sender, $sender);
$query_users = sprintf("SELECT * FROM p_users WHERE userID = %s", GetSQLValueString($colname_users, "int"));
$users = mysql_query($query_users, $sender) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
$totalRows_users = "-1";
if (isset($_SESSION['MM_Username'])) {
  $totalRows_users = $_SESSION['MM_Username'];
}
$colname_users = "-1";
mysql_select_db($database_sender, $sender);
$query_users = sprintf("SELECT * FROM p_users WHERE username = %s", GetSQLValueString($colname_users, "text"));
$users = mysql_query($query_users, $sender) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
$totalRows_users = "-1";
if (isset($_SESSION['MM_Username'])) {
  $totalRows_users = $_SESSION['MM_Username'];
}
$colname_users = "-1";
mysql_select_db($database_sender, $sender);
$query_users = sprintf("SELECT * FROM p_users WHERE userID = %s", GetSQLValueString($colname_users, "int"));
$users = mysql_query($query_users, $sender) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
$totalRows_users = "-1";
if (isset($_SESSION['MM_Username'])) {
  $totalRows_users = $_SESSION['MM_Username'];
}
$colname_users = "-1";
mysql_select_db($database_sender, $sender);
$query_users = "SELECT * FROM p_users WHERE username = 'MM_Username'";
$users = mysql_query($query_users, $sender) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
$totalRows_users = mysql_num_rows($users);$colname_users = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_users = $_SESSION['MM_Username'];
}
mysql_select_db($database_sender, $sender);
$query_users = sprintf("SELECT * FROM p_users WHERE username = %s", GetSQLValueString($colname_users, "text"));
$users = mysql_query($query_users, $sender) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
$totalRows_users = mysql_num_rows($users);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>vykladzive.cz - status</title>
<style type="text/css">
Nahlásit jako SPAM
IP: 190.124.67.–
Jirka
~ Anonymní uživatel
305 příspěvků
21. 5. 2015   #15
-
0
-

#13 peter
můžeme se domluvit na komunikaci přes email za nějakou tu kačku, že by jsi mi to přepsal dodám vše

Nahlásit jako SPAM
IP: 190.124.67.–
peter
~ Anonymní uživatel
3981 příspěvků
21. 5. 2015   #16
-
0
-

INSERT tam zadny nevidim, jen UPDATE.

$updateSQL = sprintf("UPDATE p_users SET status=%s WHERE userID=%s", ...

Tak jako, kdyz asi ani nevis, jak se pridava do tabulky sloupec... Tak menit UPDATE a SELECT asi nema smysl, ne? Asi by bylo tez lepsi najit ten kod s INSERTem, protoze diky pridanemu sloupci to pak nemusi fungovat.

Upravovat ti to nebudu ani za penize, ted mam vlastnich problemu :) Jen jsem ti chtel poradit, co s tim a zda se, ze si sam neporadis, nemas zajem to resit vlastni silou, pokus omyls, google. Tim se stava problem neresitelnym.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:14e0:f0...–
Jirka
~ Anonymní uživatel
305 příspěvků
21. 5. 2015   #17
-
0
-

#16 peter
ok, našel jsem ještě tento souborpřikládám výňatek ze souboru:

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO p_users (userID, nazev, kod, popis, foto, small_foto, kamera, aktivni, odkaz, username, password) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['userID'], "int"),
                       GetSQLValueString($_POST['nazev'], "text"),
                       GetSQLValueString($_POST['kod'], "text"),
                       GetSQLValueString($_POST['popis'], "text"),
                       GetSQLValueString("http://senderconsultants.com/vykladzive/images/img_".$_FILES["foto"] ["name"], "text"),
                       GetSQLValueString("http://senderconsultants.com/vykladzive/thumbnails/img_".$_FILES["foto"] ["name"], "text"),
                       GetSQLValueString($_POST['kamera'], "int"),
                       GetSQLValueString($_POST['aktivni'], "int"),
					   GetSQLValueString($_POST['odkaz'], "text"),
                       GetSQLValueString($_POST['username'], "text"),
                       GetSQLValueString($_POST['password'], "text"));

  mysql_select_db($database_sender, $sender);
  $Result1 = mysql_query($insertSQL, $sender) or die(mysql_error());

  $insertGoTo = "../adminpage.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
}


a celý kód:

<?php require_once('../Connections/sender.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO p_users (userID, nazev, kod, popis, foto, small_foto, kamera, aktivni, odkaz, username, password) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['userID'], "int"),
                       GetSQLValueString($_POST['nazev'], "text"),
                       GetSQLValueString($_POST['kod'], "text"),
                       GetSQLValueString($_POST['popis'], "text"),
                       GetSQLValueString("http://senderconsultants.com/vykladzive/images/img_".$_FILES["foto"] ["name"], "text"),
                       GetSQLValueString("http://senderconsultants.com/vykladzive/thumbnails/img_".$_FILES["foto"] ["name"], "text"),
                       GetSQLValueString($_POST['kamera'], "int"),
                       GetSQLValueString($_POST['aktivni'], "int"),
					   GetSQLValueString($_POST['odkaz'], "text"),
                       GetSQLValueString($_POST['username'], "text"),
                       GetSQLValueString($_POST['password'], "text"));

  mysql_select_db($database_sender, $sender);
  $Result1 = mysql_query($insertSQL, $sender) or die(mysql_error());

  $insertGoTo = "../adminpage.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
}

mysql_select_db($database_sender, $sender);
$query_vestci = "SELECT * FROM p_users";
$vestci = mysql_query($query_vestci, $sender) or die(mysql_error());
$row_vestci = mysql_fetch_assoc($vestci);
$totalRows_vestci = mysql_num_rows($vestci);

$colname_admin = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_admin = $_SESSION['MM_Username'];
}
mysql_select_db($database_sender, $sender);
$query_admin = sprintf("SELECT * FROM p_admin WHERE username = %s", GetSQLValueString($colname_admin, "text"));
$admin = mysql_query($query_admin, $sender) or die(mysql_error());
$row_admin = mysql_fetch_assoc($admin);
$totalRows_admin = mysql_num_rows($admin);
?>
<style type="text/css">
#add_vestec form #table_add_vestec {
	color: #F5F3F8;
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif;
	text-shadow: 0px 1px 1px #003366;
}
#add_vestec form #table_add_vestec tr td #ulozit_vestce {
	background-color: #F90;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	color: #FFFFFF;
	padding-top: 8px;
	padding-right: 15px;
	padding-bottom: 8px;
	padding-left: 15px;
	border: 1px solid #07426F;
	margin-bottom: 40px;
	border-top-left-radius: 6px;
	border-top-right-radius: 6px;
	-moz-border-radius-topleft: 6px;
	-moz-border-radius-topright: 6px;
	-webkit-border-top-left-radius: 6px;
	-webkit-border-top-right-radius: 6px;
	border-bottom-left-radius: 6px;
	border-bottom-right-radius: 6px;
	-moz-border-radius-bottomleft: 6px;
	-moz-border-radius-bottomright: 6px;
	-webkit-border-bottom-left-radius: 6px;
	-webkit-border-bottom-right-radius: 6px;
}
#add_vestec form #table_add_vestec tr td a {
	font-size: 14px;
	color: #F4F4F4;
	text-decoration: none;
}
.overeni {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #FC0;
}
</style>
<link rel="nofollow" href="../../../SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
<script src="../../../SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>

<div id="add_vestec">
<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1">
  <table align="center" id="table_add_vestec">
    <tr valign="middle">
      <td height="40" colspan="2" align="center" nowrap>&nbsp;</td>
      </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Jméno věštce:</td>
      <td height="30"><span id="overeni_jmena">
        <input type="text" name="nazev" value="" size="32" />
      </span></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Kód věštce:</td>
      <td height="30"><input type="text" name="kod" value="" size="32"></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Popis služby:</td>
      <td height="30"><input type="text" name="popis" value="" size="32"></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Foto:</td>
      <td height="30"><label for="foto"></label>
      <input type="file" name="foto" id="foto"></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Používá kameru:</td>
      <td height="30"><select name="kamera">
        <option value="1" <?php if (!(strcmp(1, ""))) {echo "SELECTED";} ?>>Ano</option>
        <option value="0" <?php if (!(strcmp(0, ""))) {echo "SELECTED";} ?>>Ne</option>
      </select></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Zobrazit mezi větci:</td>
      <td height="30"><select name="aktivni">
        <option value="1" <?php if (!(strcmp(1, ""))) {echo "SELECTED";} ?>>Ano</option>
        <option value="0" <?php if (!(strcmp(0, ""))) {echo "SELECTED";} ?>>Ne</option>
      </select></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Odkaz na stránku:</td>
      <td height="30"><label for="odkaz"></label>
        <input name="odkaz" type="text" id="odkaz" size="32" /></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Username:</td>
      <td height="30"><span id="overeni_username">
        <input type="text" name="username" value="" size="32" />
      </span></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>Password:</td>
      <td height="30"><span id="overeni_password">
        <input type="text" name="password" value="" size="32" />
      </span></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>&nbsp;</td>
      <td height="30"><input id="ulozit_vestce" type="submit" value="Uložit věštce"></td>
    </tr>
    <tr valign="middle">
      <td height="30" align="right" nowrap>&nbsp;</td>
      <td height="30"><a rel="nofollow" href="javascript: history.go(-1)">&lt; Zpět &gt;</a></td>
    </tr>
  </table>  
  <input type="hidden" name="userID" value="">
  <input type="hidden" name="small_foto" value="">
  <input type="hidden" name="MM_insert" value="form1">
</form>
</div>
<?php
        error_reporting (0);
$target = $folder."/resize_".$_FILES["foto"] ["name"];
function img_ori () {
	if($_FILES["foto"] ["name"]  !="" ) {
		$message =  "Nahrává se obrázek čekejte ....";
		if( ! copy($_FILES["foto"] ["tmp_name"] , "images/ori_". $_FILES["foto"] ["name"]  ) ) {
			$message = "Nelze nahrát obrázek !!!";
		}else {
			  $message = "Obrázek byl úspěšně nahrán";
			}
	}else{
		$message = "";
		}
	if($message != "") {
		echo "<div style='color:red;font-size:14px;'>" .$message."</div>";
	}
}
function img_resize () {
	if($_FILES["foto"] ["name"]  !="" ) {
		$message =  "Nahrává se obrázek čekejte ....";
		$img_file = $_FILES["foto"] ["tmp_name"];
		list ($width_ori,$height_ori) = getimagesize ($img_file);
		$folder = "../images/";
		$folder_thumb = "../thumbnails/";
		if (!is_dir($folder)) {
			mkdir ($folder);
		}
		if (!is_dir($folder_thumb)) {
			mkdir ($folder_thumb);
		}
		$width_new = 480;
		$width_thumbnail = 71;
		$ratio_ori = $width_ori / $height_ori;
		$height_new = $width_new / $ratio_ori ;
		$height_thumbnail = $width_thumbnail / $ratio_ori ;
		$img_one = imagecreatefromjpeg ($img_file);
		$img_two = imagecreatetruecolor ($width_new , $height_new);
		$img_three = imagecreatetruecolor ($width_thumbnail , $height_thumbnail);
		imagecopyresampled ($img_two,$img_one,0,0,0,0,$width_new,$height_new,$width_ori,$height_ori);
		imagecopyresampled ($img_three,$img_one,0,0,0,0,$width_thumbnail,$height_thumbnail,$width_ori,$height_ori);
		imagejpeg($img_three,$folder_thumb."/img_".$_FILES["foto"] ["name"],100);
		if(imagejpeg($img_two,$folder."/img_".$_FILES["foto"] ["name"],100)){
			$message = "Obrázek je nahrán!";
		}
	}else{
		$message = "Není vybrán žádný obrázek !!!";
		}
	if($message != "") {
		echo "";
	}
}
img_resize ();
?>
<?php
mysql_free_result($vestci);

mysql_free_result($admin);
?>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("overeni_jmena", "none");
var sprytextfield2 = new Spry.Widget.ValidationTextField("overeni_username");
var sprytextfield3 = new Spry.Widget.ValidationTextField("overeni_password");
</script>
Nahlásit jako SPAM
IP: 190.124.67.–
peter
~ Anonymní uživatel
3981 příspěvků
22. 5. 2015   #18
-
0
-

   

INSERT INTO p_users 
  (userID, nazev, kod, popis, foto, small_foto, kamera, aktivni, odkaz, username, password)
VALUES
  (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)

INSERT INTO p_users 
  (userID, nazev, kod, popis, foto, small_foto, kamera, aktivni, odkaz, username, password, cas)
VALUES
  (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, NOW())

--

UPDATE
  p_users
SET
  status=%s
WHERE
  userID=%s

UPDATE
  p_users 
SET
  status=%s, cas=NOW()
WHERE
  userID=%s

--

SELECT * 
FROM p_users 
WHERE aktivni=1
ORDER BY status

SELECT * 
FROM p_users 
WHERE aktivni=1
ORDER BY status ASC, cas ASC

---

ALTER TABLE p_users 
ADD cas DATETIME DEFAULT NOW()


Prvni je vzdycky co, tam mas a druhe, co jsem tam pridal. Nevim, jestli je to ok.
Uplne posledni radek je prikaz pro pridani sloupce a naplneni default hodnotou NOW(). Ten spustis v phpmyadminu nebo v nejakem php kodu mimo ten program, pac je ho treba jen 1x.

Mimochodem, bylo by fajn, kdybys prestal pouzivat echo a ukladal si to do promennych, treba globalnich. Tez by bylo dobre, kdybys kod schoval do funkce. Ono to pak resi ruzne kolize promennych, stejne pojmenovane.
$xxx = array();
function yyy() {global $xxx; $xxx['a']=1;}
function zzz() {global $xxx; $xxx['b']=2;}
V html kodu pak pouzijes echo.
<?php echo $xxx['a']; ?>
<?php echo $xxx['b']; ?>
Pak muzes mit zpracovani php kodu nahore a vypis html dole. Coz znacne urychli zobrazovani, pac php odesila kod, ktery ma hotovy. Kazde preruseni znackou prerusi prenos souboru a prohlizec pak ceka na dalsi prenos. Jenze php to jeste nema spoctene. A tak se zobrazuje stranka treba misto 0.1s jen 5s :)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:e443:64...–
Jirka
~ Anonymní uživatel
305 příspěvků
22. 5. 2015   #19
-
0
-

#18 peter
v databázi jsem pridal sloupec ale v kódu php jsem absolutně mimo,můžu tě poprosit o vepsání do kódu?

Nahlásit jako SPAM
IP: 190.124.67.–
peter
~ Anonymní uživatel
3981 příspěvků
22. 5. 2015   #20
-
0
-

??? Ty sql prikazy jsem zkopiroval z toho, co jsi dal sem na forum, jen jsem tam pridal zalomeni radku. Ono to lze psat na vic radku, aspon teda moje php to umi zpracovat.

"SELECT * FROM p_users WHERE aktivni=1 ORDER BY status"

lze napsat i takto

"
SELECT *
FROM p_users
WHERE aktivni=1
ORDER BY status
"
Schvalne jsem ti tam napsal prikaz pred zmenou a po ni hned za to. Vic pro tebe udelat nemuzu. Zkus pouzit vyhledavani slov v prohlizeci (ctrl+f), hledej SELECT nebo INSERT nebo UPDATE a najdes, kterou cast mas zmenit.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:e443:64...–
Jirka
~ Anonymní uživatel
305 příspěvků
23. 5. 2015   #21
-
0
-

už to testuji :)

Nahlásit jako SPAM
IP: 190.124.67.–
Jirka
~ Anonymní uživatel
305 příspěvků
23. 5. 2015   #22
-
0
-

přepsal jsem to ve trech souborech a doplnil jsem tabulku cas v mysql

Nahlásit jako SPAM
IP: 190.124.67.–
remmidemmi0
Věrný člen
23. 5. 2015   #23
-
0
-

 #15 Jirka
První možnost je, řazení dle času. Když chceš řadit lidi podle času, stačí, aby každý kdo se připojí, se mu zapsal čas a automaticky se vygenerovalo seřazení. To samé při odpojení člověka.

Nebo máš druhou možnost, nezapisovat časy a místo toho, každý bude míst status v sloupečku, kyterý nazveš třeba pořadí, to bude integer číslo, které u každého přečísluješ dolů, když se někdo odpojí a poslední příchozí dostane nejvyšší číslo. 

Obě metody mají výhody i nevýhody. Lepší než upravovat něčí program bývá snazší napsatr nový :(  (to je moje letitá zkušenost).

Nevím k čemu ten program máš, ale připadá mi, že to je řazení lidí, které se dovolali kamsi a čekají na volného operátora. Když si je operátor převezme, jak přijdou na řadu, vypadnou z fronty. Nezapomeň, že také to může někoho uprostřed fronty přestat bavit a vypadne též a musíš posunout zbytek fronty dolů.

Nahlásit jako SPAM
IP: 109.81.210.–
Jirka
~ Anonymní uživatel
305 příspěvků
25. 5. 2015   #24
-
0
-

#20 peter
zatím to vypadá že to funguje, stále testuji.

Děkuji za pomoc :)

Nahlásit jako SPAM
IP: 190.124.67.–
Jirka
~ Anonymní uživatel
305 příspěvků
26. 5. 2015   #25
-
0
-

#20 peter
Vše funguje jak má, moc děkuji za pomoc

Nahlásit jako SPAM
IP: 190.124.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Zmena řazení — založil Row

Přihlašování uživatelů — založil Alex Candle

Přihlašování uživatelů — založil schimpanze

Přihlašování uživatelů — založil Pavelv

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý