php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.10.2005, 19:44  
Gast
 
Beiträge: n/a
Standard Smiley aus Datenbank

Ich speichere Smileys mit Id, Code durch den er erstetz werden soll und dem pfad zum smiley in einer datenbank. was muss ich im quelltext schreiben um das wie mit javascript über "setsmiley blablabla" in der textarea mit der id "text" einfügen zu lassen? also das soll die aus der datenbank auswerten... könnt ihr mir weiterhelfen? also alles mit replace etc...
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 23.10.2005, 21:37  
Gast
 
Beiträge: n/a
Standard

Also nochmal?

Du hast:
  • - ID
    - Pfad
    - "Replace String"
... in der DB.

Jetzt hast du eine TEXTAREA (id="text"), in welcher du die Smilis per Klick einfügen willst.
Soll das einfügen funktionieren mit oder ohne Smiley aus Datenbank funktionieren?

Mit wäre möglich mit PHP, aber je nachdem aufwendig.
Ohne wäre mit einem JavaScript o. ä. möglich.

Und zusätzlich willst du noch den replace-Code der den "Replace String" in HTML (mit entsprechenden Smilis) umwandelt?
Soll das bei jedem anzeigen neu umgewandelt werden?
oder nur 1x nach der Eingabe?

Verstehe ich das so in etwa richtig?
 
Alt 23.10.2005, 21:51  
Gast
 
Beiträge: n/a
Standard

JO. Also ob neu laden oder nicht ist egal. ich kenne das mit javascript und nicht anders. ist aber auch egal wenns rein mit php geht. es sollte dann auch immer umgewandelt werden.
 
Alt 23.10.2005, 22:50  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Der Beitrag wurde verschoben, wegen...
... unverständlicher Rechtschreibung/Grammatik.
... Postings im falschen Forum. Bitte beim nächsten Mal darauf achten..

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen. Dazu: http://www.phpfriend.de/forum/viewtopic.php?t=21515

moved to PHP - Anfänger
__________________
mod = master of disaster
Waq ist offline  
Alt 23.10.2005, 22:53  
Gast
 
Beiträge: n/a
Standard

Hier Zeile im HTML um das Smili einzufügen:
Im gleichen File (Header):
Code:
<script language="JavaScript">
function setSmile(symbol) {
	document.formName.text.value =
	document.formName.text.value + symbol;
	document.formName.text.focus();
}
</script>
Das Textfeld auch in diesem File:

Code:
<form action="save.php" method="post" name="formName">
...
<textarea name="text"></textarea>
...
</form>
Dann im Ausgabescript:

Code:
...
function returnImgTag($path, $smiliName) {
	return "<img src=\"".$path.$smiliName."\" border=\"0\">";
}
...
$outputContent = str_replace(":)", returnImgTag($path, "smile.gif"), $outputContent );
...
Dann musst du nur noch die Schlaufen einbauen und voila...

PS: Ist nicht gerade eine Delux Version aber sollte funktionieren...
 
Alt 23.10.2005, 23:07  
Gast
 
Beiträge: n/a
Standard

das weiss ich auch. aber wie kann ich das machen ohne jetzt 20 mal [img]smilis/smile.gif[/img]
[img]smilis/smile2.gif[/img]

im text einzugeben? ich mache mir grade ein cms und da möchte ich die smileys in einer datenbank speichern. wenn sie darin gespeichert sind, sollten sie da eingefügt werden. dass ich halt nicht immer im quellcode rummachen muss...
 
Alt 23.10.2005, 23:31  
Gast
 
Beiträge: n/a
Standard

Aus der Datenbank auslesen und z.B in eine Array speichern und dann mit einer Schlaufe mögliche Smilies ersetzen:

Code:
   foreach($allSmilies as $thisSmilie) {
      $outputContent = str_replace($thisSmilie["replaceString"], returnImgTag($thisSmilie["path"], $thisSmilie["fileName"]), $outputContent);
   }
Die Array würde dann etwa so aussehen
Code:
   $allSmilies = array(1 => array("replaceString" => ":)", "path" => "smilies/", "fileName" => "smilie.gif"), 2 => array("replaceString" => ";)", "path" => "smilies/", "fileName" => "smilie2.gif"));
 
Alt 24.10.2005, 00:21  
Gast
 
Beiträge: n/a
Standard

irgendwie kapier ich grade garnüschts mehr. ich poste einfach ma den code, dann kann das ja jemand ma einsetzen =)


Code:
 <form action="<?echo $url?>do=add&action=save" method="post">
                     <table width="95%" align="center">
                     <tr>
                      <td>Autor:</td>
                      <td><?echo $usr;?></td>
                     </tr>
                     <tr>
                      <td>Kategorie:</td>
                      <td>
                       <select name="f_cat">
                       <?
                       $q_cat = mysql_query("SELECT catid,catname FROM ".$n."news_cat");
                       while($cat = mysql_fetch_array($q_cat))
                       {
                            echo '<option value="'.$cat['catid'].'">'.$cat['catname'];
                       }
                       ?>
                       </select>
                      </td>
                     </tr>
                     <tr>
                      <td>Betreff:</td>
                      <td><input type="text" name="f_subject" size="36"></td>
                     </tr>
					 <tr>
                      <td></td>
                      <td>
					  
<input type="button" onClick="setBold()" value="Fett">
<script language="JavaScript">
function setBold()
{
var a;
a = window.prompt('Bitte den Text, der fett dargestellt werden soll unten hinschreiben','');
document.getElementById("utext").value = document.getElementById("utext").value + "" + a + "";
}
</script>

<input type="button" onClick="setItalic()" value="Kursiv">
<script language="JavaScript">
function setItalic()
{
var a;
a = window.prompt('Bitte den Text, der Kursiv dargestellt werden soll unten hinschreiben','');
document.getElementById("utext").value = document.getElementById("utext").value + "" + a + "";
}
</script>

<input type="button" onClick="setUnderlined()" value="Unterstrichen">
<script language="JavaScript">
function setUnderlined()
{
var a;
a = window.prompt('Bitte den Text, der unterstrichen werden soll unten hinschreiben','');
document.getElementById("utext").value = document.getElementById("utext").value + "<u>" + a + "</u>";
}
</script>


</td>
                     </tr>
                     <tr>
                      <td>Inhalt:</td>
                      <td><textarea name="f_text" cols="35" rows="5" id="utext"></textarea></td>
                     </tr>
                     <tr>
                      <td></td>
                      <td><input type="submit" value="News eintragen >>" accesskey="s"></td>
                     </tr>
                     </table>
                    </form>

da wirds eingetragen und da wirds ausgegeben:
Code:
<?
include 'config.php';
mysql_connect($sqlhostname,$sqlusername,$sqlpassword);
mysql_select_db($sqldatabase);

// Settings einlesen
$settings = mysql_query("SELECT * FROM ".$n."news_settings");
while($zeile = mysql_fetch_array($settings))
{
     $config[$zeile[0]] = $zeile[1];
}
ereg('\?',$news) ? $url = $news.'&' : $url = $news.'?';
// Settings einlesen Ende


// Datums-Funktion
function makedate( $datum )
         {
           global $config;
           return date($config[date],$datum);
         }

// Replace-Funktion
function replace( $text )
         {
           global $config;
           $text = preg_replace('#\[quote\](.*)\[\/quote\]#','<font color="' . $config[replacecolor] . '">\\1</font>',$text);
           return $text;
         }

// Template-Funktion
function gettemplate( $template, $nobr = 0)
         {
           $template = str_replace('"','\"',implode('',file($template)));
           return $template;
         }

// Newsschreib-Funktion
function writenews( $news )
         {
           global $config,$n,$url,$imgpath,$do;
           $zeit = makedate($news[newstime]);
           $text = nl2br(stripslashes($news[newstext]));
           $betreff = stripslashes($news[newssubject]);
           $kategoriename = stripslashes($news[catname]);
           $kategoriebild = '[img]'.$imgpath.'/'.$news[catimage].'[/img]';

           // show more
           if( $config[more_funktion] == 1 && $do != 'view')
           {
                $newtext = substr($text,0,$config[more_letter]);
                $more = str_replace('{link}',str_replace('{more}',$config[more_word],'{more}'),$config[more_construx]);
                if(strlen($text) > $config[more_letter]){$text = $newtext.$more;}
           }

           // comments
           if( $config[comment_funktion] == 1 )
           {
                $replies = mysql_fetch_array(mysql_query("SELECT count(commentid) FROM ".$n."news_comment WHERE newsid = '$news[newsid]'"));
                $replies = $replies[0];
                $comment_temp = $config[comment_construx];
                $comment_temp = str_replace("{num}",$replies,$comment_temp);
                $kommentar = '' . $comment_temp . '';
           }

           // related links
           if( $news[newsurl] && substr_count($news[newsurl],'|~|') < 1 )
           {
                $links = '
&bull;' . $news[newslink] . '';
           }
           else
           {
                $a_link = explode("|~|",$news[newslink]);
                $a_url  = explode("|~|",$news[newsurl]);

                if( count($a_url) > 1 )
                {
                     for( $i = 0 ; $i < count($a_url) ; $i++ )
                     {
                          empty($a_link[$i]) ? $link = $a_url[$i] : $link = $a_link[$i];
                          $links .= '
&bull;' . $link . '';
                     }
                }
           }

           $a_user = mysql_fetch_array(mysql_query("SELECT useremail,username FROM ".$n."member WHERE userid = '$news[userid]'"));
           $autor = '' . $a_user[username] . '';

           $text = makesmilies($text);
           $text = replace($text);
           eval("\$newsmain=\"".gettemplate("templates/news.html")."\";");
           return $newsmain;
         }

// - - Funktionen, die keine Header brauchen - - //
if( $do == "lastnews" )
{
     $news = mysql_fetch_array(mysql_query("SELECT newsid,newssubject FROM ".$n."news ORDER BY newsid DESC LIMIT 1"));
     $subject = $news[newssubject];
     $link = '[mehr]';
     eval("\$construx=\"".gettemplate("templates/lastnews.html")."\";");
     echo 'document.write(\'' . $construx . '\');';
     exit;
}

@eval("?>".$config[header]."<?");
switch( $do )
{
 case 'view':

      // show original news
      $news = mysql_fetch_array(mysql_query("SELECT news.newsid,news.newstext,news.newssubject,news.userid,news.newstime,news.newsurl,news.newslink,cat.catname,cat.catimage FROM ".$n."news news INNER JOIN ".$n."news_cat cat ON news.catid = cat.catid WHERE news.newsid = '$newsid'"));
      echo writenews($news);

      // show comment
      if( $config[comment_funktion] == 1 )
      {
           $q_comment = mysql_query("SELECT commentuser,commentemail,commenttext,commenttime FROM ".$n."news_comment WHERE newsid='$newsid'");
           while($comment = mysql_fetch_array($q_comment))
           {
                empty($comment['commentemail']) ? $autor = stripslashes($comment['commentuser']) : $autor = ''.stripslashes($comment['commentuser']).'';
                $text = nl2br(htmlspecialchars(stripslashes($comment['commenttext'])));
                $zeit = makedate($comment['commenttime']);
                $a_text = explode(" ", $text);
                unset($text);
                for($i = 0 ; $i < count($a_text) ; $i++)
                {
                     if(strlen($a_text[$i]) >= $config['umbruch']){$a_text[$i] = wordwrap($a_text[$i], $config['umbruch'],'<i style="font-size: 0.1px;"> [/i]',1);}
                     $text .= $a_text[$i]." ";
                }
                unset($a_text);
                $text = makesmilies($text);
                eval("\$comment=\"".gettemplate("templates/comment.html",1)."\";");
                echo $comment;
           }
      }

      echo '
<center>[ Zur&uuml;ck zu den News ]</center>';

      if( $config[comment_funktion] == 1 )
      {
      ?>
        

        
        <form action="<?echo $url?>do=comment" method="post" name="comment">
        <input type="hidden" name="f_newsid" value="<?echo $newsid?>">
        <table align="center">
        <tr>
         <td>Name:</td>
         <td><input type="text" name="f_user" size="36" maxlength="30"></td>
        </tr>
        <tr>
         <td>Mail:</td>
         <td><input type="text" name="f_email" size="36" maxlength="50"></td>
        </tr>
        <tr>
         <td>Kommentar:</td>
         <td><textarea name="f_text" cols="30" rows="5"></textarea></td></td>
        </tr>
        <tr>
         <td></td>
         <td><input type="submit" value="Posten" accesskey="s"></td>
        </tr>
        </table>
        </form>
      <?
      }
      break;
 case 'comment':
      // - - Comment insert beginn - - //
      if( $config[comment_funktion] == 1 )
      {
           $fehler = array();
           if( empty($f_user) )
           {
                $fehler[] = 'Du hasst vergessen deinen Namen einzugeben!';
           }
           if( empty($f_text) )
           {
                $fehler[] = 'Du hasst vergessen einen Text einzugeben!';
           }
           if( count($fehler) > 0 )
           {
                echo 'Folgende Fehler sind aufgetreten:

';
                for( $i = 0 ; $i < count($fehler) ; $i++ )
                {
                     echo '- '.$fehler[$i].'
';
                }
                echo '
&raquo; zur&uuml;ck';
           }
           else
           {
                mysql_query("INSERT INTO ".$n."news_comment(newsid,commentuser,commentemail,commenttext,commenttime,commentip,commentbrowser)
                             VALUES('$f_newsid','" . addslashes($f_user) . "','$f_email','" . addslashes($f_text) . "','" . time() ."','$REMOTE_ADDR','$HTTP_USER_AGENT')");
                echo '<center>Kommentar hinzugef&uuml;gt


                      Zum Kommentar
Zu den News</center>';
           }
      }
      else
      {
           echo '<center>Kommentare sind deaktiviert!</center>';
      }
      break;
 case 'archiv':
      // - - Archiv beginn - - //
      if( empty($s) )
      {
           $s = 0;
      }

      $q_news = mysql_query("SELECT newsid,newssubject,newstime FROM ".$n."news ORDER BY newsid DESC LIMIT $s, 40");

      echo '<table cellspacing="0" cellpadding="2" width="95%" align="center"><tr><td><u>Newsarchiv</u></td></tr>';
      while( $news = mysql_fetch_array($q_news) )
      {
           strlen($news['newssubject']) > 30 ? $subject = substr($news['newssubject'],0,30).'...' : $subject = $news['newssubject'];
           echo '<tr><td>'.$subject.'</td><td align="right">'.makedate($news['newstime']).'</td></tr>';
      }
      echo '</table>';


      $forward = $s - 40;
      $back = $s + 40;
      $s > 0 ? $s_back = '&lt; Vorherige Seite' : $s_back = '';
      $num > ($config[nps] + $s) ? $s_forward ='N&auml;chste Seite &gt;' : $s_forward = '';
      echo '<center>'.$s_back.' | News | '.$s_forward.'</center>';
      break;
 default:
      // - - News beginn - - //
      if( empty($s) )
      {
           $s = 0;
      }
      isset($cat) ?
       $query = "SELECT news.newsid,news.newstext,news.newssubject,news.userid,news.newstime,news.newsurl,news.newslink,cat.catname,cat.catimage FROM ".$n."news news INNER JOIN ".$n."news_cat cat ON news.catid = cat.catid WHERE news.catid = '$cat' ORDER BY news.newsid DESC LIMIT $s,$config[nps]" :
       $query = "SELECT news.newsid,news.newstext,news.newssubject,news.userid,news.newstime,news.newsurl,news.newslink,cat.catname,cat.catimage FROM ".$n."news news INNER JOIN ".$n."news_cat cat ON news.catid = cat.catid ORDER BY news.newsid DESC LIMIT $s,$config[nps]";
      $q_news = mysql_query($query);

      $num = mysql_fetch_array(mysql_query("SELECT count(newsid) FROM ".$n."news"));
      $num = $num[0];

      if($num > 0)
      {
           echo '<table width="100%" cellpadding="0" cellpspacing="0"><tr><td>Insgesamt gepostete News: '.$num.'</td><td>Kategorien: <select onChange="location.href=this.value"><option>Wähle Kategorie:';
           $q_cat = mysql_query("SELECT catid,catname FROM ".$n."news_cat");

           while( $category = mysql_fetch_array($q_cat) )
           {
                echo '<option value="'.$url.'cat='.$category['catid'].'">'.$category['catname'];
           }
           echo '</select></td></tr></table>
';

           // News schreiben
           while( $news = mysql_fetch_array($q_news) )
           {
              echo writenews($news);
           }

           // Footer
           isset($cat) ? $catstring = 'cat='.$cat.'&' : $catstring = '';
           $forward = $s - $config[nps];
           $back = $s + $config[nps];
           $s > 0 ? $s_back = '&lt; Vorherige Seite' : $s_back = '';
           $num > ($config[nps] + $s) ? $s_forward ='N&auml;chste Seite &gt;' : $s_forward = '';
           echo '<center>'.$s_back.' | '.$s_forward.'</center>';
      }
      else
      {
           echo 'Keine News gepostet!';
      }
}
@eval("?>".$config['footer']."<?");
?>

die smiley sind mit smilieid, smiliecode und smiliescr gespeichert. dann schon mal danke im vorraus
 
Alt 24.10.2005, 12:20  
Gast
 
Beiträge: n/a
Standard

Hallo? Kann mir ma bitte jemand helfen. wäre gut wenn ich das bis mittwoch richtig hätte...
 
Alt 24.10.2005, 16:26  
Gast
 
Beiträge: n/a
Standard

haaaaaaaaaaaaaaaallllllllloooooooooooooooooooooooo oooooooo... bitte helft mir!!! =)
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array Inhalte in eine Datenbank über tragen Munsi1 PHP Tipps 2008 5 11.04.2008 13:28
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
String in Datenbank finden Pimbolie1979 Datenbanken 11 13.10.2006 15:37
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
Datenbank verschieben PHP Tipps 2005-2 4 03.08.2005 15:45
[Erledigt] Seiten in PHP mit Datenbank PHP Tipps 2005-2 3 24.07.2005 09:07
Auslesen aus der Datenbank nixdorf PHP Tipps 2005 7 06.02.2005 21:40
Eintrag in Datenbank mittels Formular? Datenbanken 5 16.12.2004 17:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smiley datenbank, smili aus, vordruck smiley, php smilies datenbank, smilie datenbank php, smileys auf eine datenbank, smilies über replaces einfügen wie, html smiley templates

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.